Теперь, насколько я понял концепцию подсчета, я попытаюсь объяснить это, подсчет относится к числу претензий на владение, которые вы выделили для объекта, и может быть проверен с помощью функции, называемой - retainCount, но вы никогда не должны обращать никакого внимания на значение счетчика хранения, поскольку оно никогда не является правильным и всегда сбивает с толку,
вы не знаете, что хранится, почему оно сохраняется, кто его хранит, когда оно было сохранено и т. Д.
Например:
You'd think that [NSNumber numberWithInt:1] would have a retainCount of 1. It doesn't. It's 2.
You'd think that @"Foo" would have a retainCount of 1. It doesn't. It's 1152921504606846975.
You'd think that [NSString stringWithString:@"Foo"] would have a retainCount of 1. It doesn't. Again, it's 1152921504606846975.
По сути, поскольку что-либо может сохранить объект (и, следовательно, изменить его retainCount), и поскольку у вас нет источника для большей части кода, выполняющего приложение, объект retainCount не имеет смысла.
Если вы пытаетесь выяснить, почему объект не освобождается, используйте инструмент «Утечки» в инструментах. Если вы пытаетесь выяснить, почему объект был освобожден слишком рано, используйте инструмент Зомби в Инструментах.
Но не используйте -retainCount. Это действительно бесполезный метод.