Как смоделировать защищенные свойства и методы в target-c [duplicate]
Возможный дубликат:
Защищенные методы в объективе
Способ объявления частных свойств прост.
Вы заявляете, что вs объявлены в .m файлах.
Скажем, я хочу объявить защищенные свойства и получить к нему доступ из класса и подкласса.
Вот что я попробовал:
//
// BGGoogleMap+protected.h
//
//
#import "BGGoogleMap.h"
@interface BGGoogleMap ()
@property (strong,nonatomic) NSString * protectedHello;
@end
Этот компилируется. Затем я добавил:
#import "BGGoogleMap+protected.h"
@implementation BGGoogleMap ()
-(NSString *) protectedHello
{
return _
}
@end
Проблема начинается. Я могу't реализовать расширение класса за пределами оригинальных .m файлов, кажется. Xcode потребует что-то внутри этой скобки.
Если я сделаю
#import "BGGoogleMap+protected.h"
@implementation BGGoogleMap (protected)
-(NSString *) protectedHello
{
return _
}
@end
Я не могу получить доступ к ivar _protectedHello, объявленному в BGGoogleMap + protected.h
Конечно, я могу использовать обычную категорию, а не расширение, но это означает, что я могуt имеют защищенные свойства.
И что же мне делать?