Я прочитал в книге «Основы программирования iOS» Мэтта Нойберга, что переменные экземпляра защищены, а это означает, что другие классы, за исключением подклассов этого, не могут их видеть.
У меня есть родительский класс A, в котором я определяю список ivar. (Являюсь)
@interface A ()
@end
@implementation A
{
NSArray *list;
}
@end
Класс B расширяет A (B.h)
#import "A.h"
@interface B:A
@end
(B.m)
@interface B ()
@end
@implementation B
list =
...
@end
Я хочу использовать список ivar в дочернем классе B, но компилятор не видит, что ссылка была объявлена в родительском классе. Я пробовал явно использовать @protected, но это не сработало. Я не хочу показывать список ivar в общедоступном интерфейсе. Это внутренняя структура, которая является общим элементом всех подклассов. Как я могу это сделать?
@protected
- person Darren   schedule 28.05.2015