Вы не должны полагаться на retainCount
, поскольку существует возможность сохранения созданного вами объекта iOS,
Читайте ниже, что Apple говорит о retainCount
.
Важно: Этот метод обычно не имеет значения при отладке проблем управления памятью. Поскольку любое количество объектов каркаса могло сохранить объект для хранения ссылок на него, в то время как пулы автоматического выпуска могут содержать любое количество отложенных выпусков для объекта, маловероятно, что вы можете получить полезную информацию из этого способ.
Чтобы понять основные правила управления памятью, которые вы должны соблюдать, прочитайте «Правила управления памятью» . Для диагностики проблем управления памятью используйте подходящий инструмент:
Статический анализатор LLVM/Clang
обычно может обнаруживать проблемы с управлением памятью даже до запуска вашей программы.
Инструмент Object Alloc в приложении Instruments (см. Руководство пользователя Instruments) может отслеживать распределение и уничтожение объектов.
Shark (см. Руководство пользователя Shark) также профилирует распределение памяти (среди множества других аспектов вашей программы).