Как cocos2d CCMenu получает доступ к закрытой переменной-члену базового класса без каких-либо ошибок? - PullRequest
0 голосов
/ 28 марта 2011

Это не вопрос cocos2d, а скорее вопрос Objective-C.

Существует два класса CCNode и CCMenu.CCNode является предком CCMenu.CCMenu напрямую обращается к закрытой переменной-члену children_ из CCNode, но не получает никаких ошибок (или предупреждений).

Мы заметили эту проблему, когда пытались создать подкласс CCMenu и аналогичным образом обращались к children_ в производном классе.,Xcode не выдавал никаких ошибок при сборке для симулятора, но он выдавал ошибки, говоря, что 'children_' не объявлено.(что имеет смысл!)

Так что я действительно запутался ... это не похоже на какие-либо настройки компилятора (cocos2d компилируется без каких-либо проблем).

1 Ответ

0 голосов
/ 29 марта 2011

Глядя на заголовок CCNode, children_ не кажется приватным.Интерфейс CCNode не имеет модификаторов видимости, и по умолчанию используется @protected, поэтому переменная экземпляра должна быть видимой для подклассов CCNode.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...