Я изучаю ARC. А теперь об обнулении слабого указателя.
ОК, я понял все особенности. Семантика слабая ссылка точно такая же, как и у слабой ссылки системы GC, но вы знаете, Objective-C не использует GC (кроме особого случая), поэтому я не могу понять, как это работает.
Я немного сложный парень, поэтому мне нужно знать основной принцип реализации, чтобы принять функцию к использованию. Но проблема в том, что очень трудно найти документ, в котором описывается принцип нуля-слабого указателя: (
IMO, единственный способ выполнить эту работу - отслеживать и хранить все указатели, ссылающиеся на себя во время выполнения, и устанавливать их все nil
, когда его счетчик ссылок становится 0
. Но это выглядит слишком тяжелым и глупым. Я считаю, что гораздо лучшее решение используется в реальной реализации ARC.
Можете ли вы помочь мне найти документацию? Или прямое описание было бы лучше!