Несбалансированные вызовы для начала / конца появления переходов для - PullRequest
91 голосов
/ 25 июля 2011

У меня есть эта проблема, когда я симулирую свое приложение, это не ошибка или предупреждение, но оно появляется в моей консоли, кто-нибудь когда-либо испытывал это раньше?

Ответы [ 25 ]

1 голос
/ 30 декабря 2012

У меня та же проблема, когда я использовал метод pop навигационного контроллера В моем приложении я использую отдельную логику для контроллера навигации, поэтому избегаю использования панели навигации, и она всегда скрытаЗатем я использую пользовательский вид и уведомление для обработки кнопки и ее событий.Уведомления наблюдателей регистрируются и не удаляются.Таким образом, уведомление запускается дважды, и это создает вышеупомянутую ошибку.Тщательно проверьте свой код на наличие ошибки

1 голос
/ 28 сентября 2012

Я также получил это в

[self dismissModalViewControllerAnimated:YES];

Я изменил YES на NO, и это решило проблему.

1 голос
/ 24 сентября 2012

Во всяком случае, я получил эту же ошибку, когда не включил вызов [super viewDidLoad:animated] в моем viewDidLoad переопределении.

1 голос
/ 04 сентября 2012

У меня похожая проблема при попытке сделать:

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:2] animated:YES];

в функции, подобной - (void) popUpToLevelTwo;, и добавление return; в конец функции решает проблему

1 голос
/ 27 августа 2012

Ситуация может возникнуть, если вы добавляете представление с контроллером модального представления в качестве вспомогательного представления.Лучше всего использовать:

-(void) viewDidAppear:(BOOL)animated {
    [self presentViewController:self.yourModalVC animated:YES completion:nil];
}

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

1 голос
/ 25 июня 2014

У меня была реализована некоторая логика для ожидания нажатия UIViewController, пока все данные не будут загружены. В этой логике произошла ошибка, из-за которой UIViewController выдвигался слишком рано, пока еще выполнялся еще один вызов API.

Это вызвало двойное нажатие UIViewController на UINavigationController и выдало это предупреждение.

1 голос
/ 03 июня 2013

У меня также была эта проблема, когда я нажимал кнопку из NIB. Оказывается, я случайно подключил кнопку, чтобы отправить событие двум методам IBAction, каждый из которых выполнял pushViewController: animated:

1 голос
/ 05 июня 2016

Я получил эту проблему, потому что я вызывал UIPrintInteractionController из viewController без UITabbar и ни UINavigationBar. Кажется, что UIPrintInteractionController не получил правильный printInteractionControllerParentViewController. Реализация метода в делегате и возвращение текущего rootViewController работали для меня.

    - (UIViewController*)printInteractionControllerParentViewController:(UIPrintInteractionController*)printInteractionController;
0 голосов
/ 21 июля 2018

Swift 4

Моя проблема заключалась в том, что я представлял другой VC до того, как закончил рендеринг текущего.

Решение было представить мой следующий ВК после быстрой задержки.

ЧТО ВЫ НЕ ДОЛЖНЫ ДЕЛАТЬ

override func viewDidLoad() {
    super.viewDidLoad() 
    self.present(MyNextVC(), animated: true, completion: nil)
}

ЧТО ВЫ ДОЛЖНЫ ДЕЛАТЬ

override func viewDidLoad() {
    super.viewDidLoad() 
    //Wait until the view finished to be constructed
    perform(#selector(showMyNextVC), with: nil, afterDelay: 0.01)
}

@objc func showCityList() {
    self.present(MyNextVC(), animated: true, completion: nil)
}
0 голосов
/ 18 июня 2012

У меня была эта проблема, когда я забыл установить Break; после нажатия на представление в операторе switch!

Как здесь:

case 1:{

        SomeViewController *someViewController = [[SomeViewController alloc]initWithNibName:@"SomeViewController" bundle:Nil];
        [self.navigationController pushViewController:someViewController animated:YES];
        [someViewController release];
    }

        break; //Forgetting to set break here:
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...