Если в вашем общедоступном интерфейсе есть свойство, подобное следующему
@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
, тогда он также получит свойства (естественно), но будет ли он также наследовать видимость переменной экземпляра?
Какая разница, если я помещу свойство в расширение класса? Это скроет свойство от подклассов, и я предполагаю, что переменная экземпляра тоже. Это где-нибудь задокументировано?