Почему мой UINavigationController отправляет сообщение зомби? - PullRequest
1 голос
/ 02 ноября 2010

У меня странная проблема.

У меня есть UINavigationController с UITableViewController внутри.

В двух словах: UINavigationController + UITableViewController + изменение ориентации устройства вызывает:

[CALayer release]: message sent to deallocated instance

Проблема: после быстрой прокрутки таблицы и изменения ориентации устройства несколько раз появляется сообщение об ошибке «[CALayer release]: сообщение отправлено освобожденному экземпляру».

Я отлаживаю его через «Распределения» и вижу:

0 CALayer Malloc 1 UIKit [UIView _createLayerWithFrame:]
1 CALayer Zombie -1 QuartzCore CA::release_objects<X::List<void const*>*)

Что это значит и что я должен делать?

1 Ответ

1 голос
/ 21 сентября 2011

У вас явно есть проблема с управлением памятью.

Лучшая ставка для вас будет на Analyze your code, что вы можете сделать с CMD+SHIFT+A. Он выполнит статический анализ вашего кода и отметит приятными синими стрелками места, где clang analyzer сообщает о возможных проблемах с памятью.

Как я полагаю, я бы поспорил, что у вас есть проблема в viewDidAppear / viewDidDisappear.

...