Как смоделировать защищенные свойства и методы в 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 имеют защищенные свойства.

И что же мне делать?

Ответы на вопрос(3)

Ваш ответ на вопрос