2010-11-18 4 views
0

У меня есть 3 контроллера вида в моем UINavigationController. Если я использую pushViewController и popViewController для переключения между контроллерами представлений, все в порядке.вызывает сбой во время выполнения!

Но если я вызываю setViewControllers, чтобы переупорядочить их заказ, я получаю сбой при касании кнопки навигации назад.

[UIBarButtonItem performSelector: withObject: withObject]: сообщение для освобожденного экземпляра.

Оригинальный стек - это A и B, а затем я установил A и C как рев.

[delegate.navigationController setViewControllers: [NSArray arrayWithObjects: [[delegate.navigationController viewControllers] objectAtIndex: 0], controllerC, nil] animated: YES];

То, что я нашел странным, это ..., если я вызываю этот метод с анимированным: НЕТ, авария не возникает.

В чем секрет анимированного параметра для моего кода? помогите мне пожалуйста ... :(

ответ

1

Тот факт, что это происходит только с анимированным: ДА, я думаю, что это условие гонки авторекламы. Вы назначаете свой экземпляр контроллера с авторекламой? Если это так, попробуйте избежать этого и явно освободить это после вызова setViewControllers вместо этого. дайте мне знать, если это решит проблему.

не могу утверждать, я полностью понимаю, что здесь происходит, но дать, что выстрел.

-S

0

Я имел эта же проблема, и это наверняка показалось мне ошибкой iOS. Работа, которая работала для меня, заключалась в том, чтобы сначала нажать Новый контроллер вида:

[navigationController pushViewController:controllerC animated:YES]; 

Затем установите стек контроллеры просмотреть нужное значение (для устранения те между ними):

NSArray *newViewControllers = [NSArray arrayWithObjects:controllerA, controllerC, nil]; 
[navigationController setViewControllers:newViewControllers animated:NO]; 
+0

немного странно ... он скрывает leftBarButton на навигационном контроллере , Просто исчез, но я могу прикоснуться к нему. Во всяком случае, нет крушения. Что, черт возьми, с этим SDK? –

+0

У вас есть решение? Если да, делитесь. Я столкнулся с подобной проблемой. Левая панель исчезает, но ее можно коснуться. – Pria

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