Что плохого в том, чтобы поместить ивар в расширение класса? - PullRequest
4 голосов
/ 01 марта 2012

Согласно документации Apple здесь , это должно работать в моем коде:

@interface Menu () {
    int testIvar;

}
 -(void)privateMethod;

@end

Это работает, если я не пытаюсь объявить iVar.Как только я добавляю фигурные скобки и то, что находится между ними, я получаю это приятное красное предупреждение:

Ожидаемый идентификатор или '(' before '{' token

Что здесь происходит?

1 Ответ

4 голосов
/ 01 марта 2012

(Превращаю мой комментарий в ответ ...)

GCC любого типа не подойдет для вас, и LLVM <2.0 не будет, так как документы, на которые вы ссылаетесь: </p>

Используя компилятор Clang / LLVM 2.0, вы также можете объявить свойства и переменные экземпляра в расширении класса.

Убедитесь, что вы используете самый последний из доступных вам компиляторов (если вы используете Xcode <4, вам может не повезти). </p>

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