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