Загадочный объект, который сохраняет ваш счетчик (и множество других объектов), называется NSAutoreleasePool
.
В Какао совершенно бесполезно смотреть на объекты retainCount
, поскольку вы не можете знать, был ли объект сохранен-автоматически освобожден ранее (часто много раз). Значение retainCount будет уменьшаться только после опустошения текущего пула, обычно после следующего прохода цикла выполнения. Если вы не сохраните объект, он будет удален при опустошении пула.
Итак, опять основное правило: Не смотрите на retainCount .
Если бы существовал метод autoreleaseCount
, можно было бы рассчитать «логический» счет удержания, но я боюсь, что инженеры Apple оставили это в качестве упражнения для начинающих разработчиков Cocoa;