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];
});
}
请问有没有人有关相关的解决方案。
应该是navgationcontroller栈的问题吧!
在popViewControllerAnimated 之前请确定VC 之间的顺序 特别是保证VC已经创建并viewDidLoad
我想到两点,不知道有没有用:
01.present对应dismiss,push对应pop;
02.我都是回到主线程pop的,免去打断另外操作的顾虑;