Когда вы что-то alloc
что-то получаете, у полученного вами объекта будет счет отсчета 1 - это означает, что этот объект в данный момент кем-то используется, поэтому его не следует удалять из памяти.Если вы вызовете retain
для объекта, это увеличит счет сохранения, что означает, что объект используется двумя вещами.Если счет сохранения достигает 0, это означает, что объект больше не используется, и его можно удалить из памяти.Вы можете уменьшить количество сохраняемых объектов, вызвав release
для этого объекта.
В вашем примере aViewController
равно alloc
'd, а после строки 1 число сохраненных записей равно + 1.
Затем он устанавливается в качестве контроллера представления в строке 2. Таким образом, этот метод становится владельцем объекта, поэтому следует retain
использовать его для собственного использования.
Строка 3, нам не нужнобольше ничего общего с контроллером представления, поэтому мы release
держим его в руках.Количество сохраненных файлов уменьшается на единицу - и теперь новый владелец может освободить его, когда закончит с ним.
Возможно, вам будет полезно прочитать раздел управления памятью этого учебного пособия.