Вопрос

Я не могу выяснить, почему я получаю аварию при вспышке вернуться к контурллеру предыдущего просмотра в стеке навигации. Дело в том, что я использую пользовательскую навигационную панель (оригинал скрыт и мои настраиваемые кнопки пожали навигации - push и pop - вместо этого).

Трассировка я получаю:

Program received signal:  “EXC_BAD_ACCESS”.

#0  0x011a4a60 in objc_msgSend
#1  0x0044e37c in -[UIImageView(UIImageViewInternal) _canDrawContent]
#2  0x003bf3df in -[UIView(Internal) _didMoveFromWindow:toWindow:]
#3  0x003bf1b0 in -[UIView(Internal) _didMoveFromWindow:toWindow:]
#4  0x003bf1b0 in -[UIView(Internal) _didMoveFromWindow:toWindow:]
#5  0x003bdfc4 in -[UIView(Hierarchy) _postMovedFromSuperview:]
#6  0x003b6dfc in -[UIView(Internal) _addSubview:positioned:relativeTo:]
#7  0x003b514f in -[UIView(Hierarchy) addSubview:]
#8  0x005ca471 in -[UINavigationTransitionView transition:fromView:toView:]
#9  0x005c9ed5 in -[UINavigationTransitionView transition:toView:]
#10 0x0043c606 in -[UINavigationController _startDeferredTransitionIfNeeded]
#11 0x0043c292 in -[UINavigationController _popViewControllerWithTransition:allowPoppingLast:]
#12 0x0043bfa9 in -[UINavigationController popViewControllerWithTransition:]
#13 0x0043f62b in -[UINavigationController popToViewController:transition:]
#14 0x000124fa in -[BaseViewController bottomNavigationFiredController:] at BaseViewController.m:187
Это было полезно?

Решение

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

Затем попробуйте использовать

[self.navigationConroller popViewControllerAnimated:YES];

или выпустить на желаемый вид

[self.navigationController popToViewController:myview animated:YES];

или pop to rootview

[self.navigationController popToRootViewControllerAnimated:YES];

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

Другие советы

Стоит вспомнить, что когда ViewController отталкивается в стеке навигации (новый контроллер просмотра находится вжимается), даже если он не выпускается (сохранил его стек навигационного контроллера), Его мАимский вид выпускается (со всеми его сопоставлениями, конечно), ты.

Таким образом, этот тип аварии в основном указывает на интерфейс управления Memory Management (наиболее вероятно двойной выпуск автозависимых Uiimages, который был моим делом ;-).

Надеюсь, это поможет кому-то понять, как UinavigationController управляет памятью.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top