компании Apple рекомендует вам получить доступ к переменные экземпляра, которые поддерживают свои свойства напрямую, а не с помощью геттер/сеттер, при инициализации класса:Инициализация Objective C свойство в дочернем классе
Тем не менее, кажется, переменные экземпляра, поддерживающие свойство в родительском классе, недоступны в дочернем классе; Почему это так? Я расширяю класс в библиотеке (Cocos2d), где не все переменные экземпляра инициализируются в функции init родительского класса. Например:
---
@interface parentClass
@property (assign) int myProperty;
----
@interface childClass : parentClass
----
@implementation childClass
- (id) init {
// this doesn't work.
_myProperty = 0;
}
'@ property' с префиксом подчеркивания в классах, я думаю, вы должны написать' _myProperty = 0; ' – DCMaxxx
Попробуйте _myProperty – Rog
Возможно, вы не знаете имя свойства ivar, используемое при имплантации суперкласса. Затем вы можете инициализировать с self.propertyname = – uchuugaka