2013-12-19 3 views
8

При загрузке MKMapView у меня возникает своеобразный сбой. Характер возникновения - это когда я открываю ABPeoplePickerNavigationController в одном представлении, которое, в свою очередь, вызывает метод делегирования UINavigationControllerСбой при загрузке MKMapView

И после сохранения/без сохранения я перехожу к другому виду - его рабочий режим. Следующий вид - его работающий штраф. Но когда я вхожу в представление с MKMapView, он падает.

Никаких других представлений не возникает. Только вид, который загружает MKMapView аварий с последующим лог

*** -[UINavigationBar barStyle]: message sent to deallocated instance 

Я комментировал часть в коде, который загружает MapView, а затем он работает нормально. Таким образом, кажется, что моя навигационная панель освобождается где-то, когда загружается карта. Но то, что я не могу понять, заключается в том, что никакое другое представление в приложении не имеет проблем, только с ошибкой mapview. Я пробовал разные шаблоны тестирования и убедился, что ни у одного из других представлений нет никаких проблем.

Приложение не падает в симуляторе. Он выходит из строя только на устройстве. Почему эта проблема возникает только в представлении, которое загружает mapview и не имеет других представлений.

Я пробовал профилировать, чтобы проанализировать мою проблему. Вот что я нашел, но это не очень полезно.

Profile --> Zombies

+0

'UIBarButtonItem * buttonItem = [[UIBarButtonItem Alloc] initWithTitle: NSLocalizedString (@ "контакты", @ Стиль «Контакты»): UIBarButtonItemStyleBordered target: self action: @selector (cancel :)); 'Это причина аварии. Вы использовали 'UIBarButtonItemStylePlain'? – Devel

+0

Можете ли вы установить контрольную точку исключения, чтобы сузить ее до точной строки кода, которая вызывает сбой? –

+0

@JaiGovindani Это не похоже на сбой в коде. –

ответ

4

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

Это проблема утечки на ABPeoplePickerNavigationController. Вы должны убедиться, что он не будет освобожден.

я объявляю его как сильные собственности, чтобы обеспечить не будет освобождаться и она отлично работает :)

+1

Также см. Http://stackoverflow.com/questions/20146979/app-crash-on-use-of-peoplepicker-but-not-in-same-view. Этот вопрос (а не принятый ответ) содержит ссылку на это другое обходное решение: https://discussions.apple.com/thread/5498630?start=15&tstart=0 – Anna

0

ли вы упоминаете правильный метод протокола и делегата и убедитесь, что у вас есть правильный розетка с каждым объектом вы сделали.

надеюсь, что это сработает

+0

Тогда он бы не рухнул все время, а не в конкретных случаях , –

+0

Я думаю, что есть утечка памяти .... –

Смежные вопросы