Разница между @property (неатомным, сохраняемым) в Xcode 3.2 и @property (сильным, неатомным) в Xcode 4.2 - PullRequest
1 голос
/ 20 января 2012

В чем разница между @property (nonatomic, retain), который мы использовали в Xcode 3.2, и @property (strong, nonatomic), который мы используем в Xcode 4.2?Что значит «сильный» здесь?

1 Ответ

4 голосов
/ 20 января 2012

"strong" - это подсказка ARC (Автоматический подсчет ссылок), что, пока это свойство указывает на объект, этот объект не будет автоматически освобожден.

Существует также «слабое» ключевое слово, которое вместо этого (в IOS5) указывает, что ARC может свободно освобождать объект, на который указывает свойство, при условии, что оно одновременно устанавливает свойство в NULL.

В итоге, если у объекта есть хотя бы одно свойство "strong", указывающее на него, он не будет освобожден ARC, если не будет, он будет немедленно освобожден, а все "слабые" свойства указывают на для него установлено значение NULL.

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