что означает атрибут (слабый) при использовании для @property? - PullRequest
3 голосов
/ 04 декабря 2011

Прошло не менее двух лет с тех пор, как я закодировал в target-c, и после того, как я вытащил git-репо моего босса, я обнаружил в проекте несколько экземпляров @property (nonatomic, readonly, weak);.

Мне казалось, что Google, StackOverflow или документация Apple смогут решить мой запрос в один миг, но я не могу на всю жизнь, что делает атрибут (weak).

Мои два вопроса:

  1. Что означает (weak)?
  2. Почему (weak) не распознается моим XCode как действительное ключевое слово?

Я все еще на 10.6, но мой XCode обновлен.

1 Ответ

4 голосов
/ 04 декабря 2011

weak можно использовать как в Сборка мусора на рабочем столе, так и в Автоматический подсчет ссылок на рабочем столе 10.7+ и iOS 5.0+.Он объявляет, что свойство является нулевым слабым указателем.Другими словами, это ссылка на объект, которая не вызывает retain или release и автоматически выводится nil, когда объект уничтожается.Чтобы правильно использовать такое свойство, если вы собираетесь ссылаться на него более одного раза, вы должны сохранить его в локальной переменной перед его использованием, или оно может непредсказуемо привести к выводу nil в середине вашего кода.

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