我们在应用程序委托中有这样的功能。当本地通知到来时,执行下面的代码并且可能导致崩溃,正如我在insertSubview执行的行中所理解的那样。 我怎么能安全地做到这一点?感谢。
-(void)changeController:(UIViewController*)newController {
self.currentController = newController;
if([self.window.subviews containsObject:self.menuController.view]) {
[self.window insertSubview:newController.view belowSubview:self.menuController.view];
}
else {
self.window.rootViewController = self.currentController;
}
}
答案 0 :(得分:1)
如果您的视图/视图控制器是UINavigationViewController
的一部分,那么您应该管理它们的方式是使用该类的方法:特别是pushViewController:animated:
之类的方法。通常,如果您的视图由其自己的视图控制器“控制”,则您可能不应该抓取这些视图并将它们附加到其他视图层次结构。