popViewControllerAnimated 引起崩溃 找不到原因 无报错信息

A->B->C

C->B时不崩溃
B->A时崩溃

C中使用了注册了相关通知,退出时我已经remove了。


根据stackoverflow上说的,但是依然会崩溃,同时没有任何报错信息。

if ([NSThread isMainThread]) {
    NSLog(@"Yay!");
    [self.navigationController popViewControllerAnimated:YES];
} else {
    NSLog(@"Humph, switching to main");
    dispatch_async(dispatch_get_main_queue(), ^{
        [self.navigationController popViewControllerAnimated:YES];
    });
}

请问有没有人有关相关的解决方案。

阅读 8.7k
3 个回答

应该是navgationcontroller栈的问题吧!

我想到两点,不知道有没有用:
01.present对应dismiss,push对应pop;
02.我都是回到主线程pop的,免去打断另外操作的顾虑;

新手上路,请多包涵

在popViewControllerAnimated 之前请确定VC 之间的顺序 特别是保证VC已经创建并viewDidLoad

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题