Я проверяю количество оставшихся объектов
NSLog(@"r = %d", [aObject retainCount];
Кажется, что самое низкое значение, которое я могу получить, это "r = 1", даже если я намеренно добавляю дополнительные вызовы "release"
[aObject release];
Ограничение "r = 1" сохраняется, даже если я пытаюсь поместить тестовые коды "release" и "NSLog" в метод dealloc
объекта.
Кажется, что во время выполнения Cocoa мои дополнительные выпуски игнорировались вплоть до "r = 1" перед тем, как завершить работу с EXC_BAD_ACCESS в самом конце примера программы (без GC).
Мое единственное объяснение (предположение) состоит в том, что нам нужен r> = 1 для доступа к объекту. И во время выполнения Какао просто пытается удержать счет удержания любого объекта от преждевременного достижения нуля.
Может ли кто-нибудь подтвердить или исправить меня, если я ошибаюсь?