Обнуление слабых ссылок в ARC - PullRequest
44 голосов
/ 30 августа 2011

Если мое прочтение "Обнуления слабых ссылок" Майка Эша верно, слабые ссылки похожи на assign ссылки без ARC. Однако, если указанный объект освобожден, вместо получения «висящего указателя» (означающего указатель, который указывает на освобожденный объект), указатель устанавливается на nil.

Это правильно, и это происходит с любым свойством, помеченным weak или assign (когда ARC активен)?

Если это так, это устранит множество SIGABRT.

1 Ответ

38 голосов
/ 30 августа 2011

Это в основном правильно, но assign свойства по-прежнему обрабатываются так же, как и раньше, только weak свойства обнуляются.Еще одна оговорка: обнуление слабых ссылок доступно только в Mac OS X ≥ 10.7 и iOS ≥ 5. В то время как остальная часть ARC была перенесена на 10.6 и iOS 4, слабые ссылки вообще нельзя использовать в этих ОС.

...