Какова видимость переменных экземпляра @synthesized?

Если у вас есть свойство в вашем общедоступном интерфейсе, подобное приведенному ниже

@interface MyClass : NSObject
@property(strong) NSString *myProp;
@end

А затем синтезируйте его, фактически синтезируя переменную:

@implementation MyClass
@synthesize myProp = _myProp; // or just leave it at the default name..
@end

Какова видимость переменной экземпляра _myProp ? То есть считается ли это @public , @protected или @private ? Я предполагаю, поскольку MySubClass может наследовать от MyClass , тогда он также получит свойства (естественно), но будет ли он также наследовать видимость переменной экземпляра?

Какая разница в этом. сделать, если я помещу свойство в расширение класса? Это скроет свойство от подклассов, и я предполагаю, что и переменная экземпляра. Это где-нибудь задокументировано?

16
задан jbrennan 14 December 2011 в 19:26
поделиться