У меня есть UIViewController, который выталкивается на контроллер контейнера, а затем выталкивается и, используя инструмент распределения, я вижу, что контроллер вида затем уничтожается. Однако точка останова в контроллере dealloc никогда не достигается. Кто-нибудь знает, почему dealloc не называется? Возможно ли, чтобы ARC уничтожил объект без вызова dealloc?
Кроме того, я отключил NSZombies (некоторые сказали, что это может привести к тому, что dealloc не будет срабатывать).
Edit:
Dealloc не делает много, просто печатает на консоли, и он никогда не вызывается:
- (void)dealloc
{
NSLog(@"Deallocating...");
}
Я не могу опубликовать контроллер контейнера - он проприетарный и слишком сложный. Dealloc называется последовательно на некоторых контроллерах, а не на других. Если я найду время, я попытаюсь опубликовать упрощенную версию, которая воспроизводит проблему.
Есть ли способ проверить, что NSZombies отключен?
Edit2
Я публикую скриншот из инструментов; мне кажется, что он правильно освобождается.