Что делает "сильное" ключевое слово - PullRequest
18 голосов
/ 07 июля 2011

Я скачал предварительную версию для разработчиков Xcode 4.2 и создал приложение для какао. Но я обнаружил очень странный синтаксис в классе делегата:

@property (strong) IBOutlet NSWindow *window;

Что это значит? И компилятор не может даже скомпилировать его.

Заранее спасибо!

Ответы [ 2 ]

20 голосов
/ 07 июля 2011

Это указывает на то, что эта собственность является крепкими отношениями - собственностью.Это ARC версия ключевого слова retain в том же контексте.

И компилятор не может даже скомпилировать его.

Это действительный код ARC, поэтому, если ваши инструменты поддерживают ARC, они, безусловно, должны иметь возможность его скомпилировать.

Убедитесь, что вы используете Xcode 4.2 или более позднюю версию и что для компилятора проекта выбран Clang.(«Apple LLVM Compiler»).

3 голосов
/ 07 июля 2011

Strong относится к автоматическому подсчету ссылок (ARC), который поступает в новый компилятор LLVM, часть Xcode 4.2 после его выпуска. В настоящее время предварительный просмотр Xcode 4.2 все еще находится под NDA - отправляйте любые вопросы на форумы разработчиков, войдя в свою учетную запись разработчика .

Смотрите этот хороший блог пост.

...