Как смоделировать защищенные свойства и методы в target-c [duplicate]

Возможный дубликат:
Защищенные методы в объективе

Способ объявления частных свойств прост.

Вы заявляете, что в расширении, которое объявлено в .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

Проблема начинается. Кажется, я не могу реализовать расширение класса за пределами исходных файлов .m. Xcode потребует что-то внутри этой скобки.

Если я сделаю

#import "BGGoogleMap+protected.h"

@implementation BGGoogleMap (protected)

-(NSString *) protectedHello
{
    return _
}

@end

Я не могу получить доступ к ivar _protectedHello, объявленному в BGGoogleMap + protected.h

Конечно, я могу использовать обычную категорию, а не расширение, но это означает, что у меня не может быть защищенных свойств.

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

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

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