Dealloc не вызывается в приложении ARC

У меня есть UIViewController, который помещается в контроллер контейнера, а затем отключается, и, используя инструмент распределения, я вижу, что контроллер представления впоследствии уничтожается. Однако точка останова в освобождении контроллера никогда не достигается. Кто-нибудь знает, почему не вызывается dealloc? Может ли ARC уничтожить объект без вызова dealloc?

Кроме того, я отключил NSZombies (некоторые говорили, что это может привести к тому, что dealloc не сработает).

Правка:

Dealloc мало что делает, просто выводит на консоль и никогда не вызывается:

- (void) dealloc { (скрытый) }

Я не могу опубликовать контроллер контейнера - он проприетарный и слишком сложный. Dealloc вызывается последовательно на одних контроллерах, а не на других. Если у меня будет время, я постараюсь опубликовать упрощенную версию, в которой воспроизводится проблема.

Есть ли способ проверить, что NSZombies отключен?

Edit2

выкладываю скриншот с инструментов; мне кажется, что он правильно освобождает.

enter image description here

38
задан rob 12 February 2012 в 23:52
поделиться