Ако имате свойство във вашия публичен интерфейс като следното
@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
, тогава ще получи и свойствата (естествено), но ще наследи ли и видимостта на променливата на екземпляра?
Каква е разликата, ако поставя свойството в разширение на клас? Това би скрило свойството от подкласове и предполагам, че променливата на екземпляра също. Това документирано ли е някъде?