Обычно вам нужно освобождать объект столько раз, сколько он удерживается - вот почему он называется подсчетом ссылок.Держатели указателей на ваш объект вызывают -retain
, чтобы сохранить его в памяти.Он будет освобожден только после того, как это будет -release
правильное количество раз.Следовательно, сохранение его более чем необходимо - это выделение памяти сверх срока ее полезного использования - и это называется утечкой памяти.Инструмент Xcode Instruments имеет инструмент анализа утечки памяти.
Вот хорошее описание Управление памятью
Я также согласен с @Chris, который комментирует выше этот ответ , описывающий, как работает сохранение / освобождение, очень хорош.