Согласно официальному сообщению, класс в Objective-C должен публиковать публичные методы и свойства в своем заголовке:
@interface MyClass : NSObject
@property (nonatomic, strong) MyPublicObject *publicObject;
- (void)publicMethod;
@end
и частные методы/свойства должны храниться в расширении класса в файле .m:
@interface MyClass()
@property (nonatomic, strong) MyPrivateObject *privateObject;
- (void) privateMethod;
@end
и я не думаю, что существует тип protected
для вещей, которые являются частными, но доступными из подклассов. Интересно, есть ли все равно для достижения этого, кроме публичного объявления частных свойств/методов?