我有一个应用程序,其中我有一个导航控制器,一个根视图,以及一个根通过segue推送到的视图。我没有做任何先进的事情,我没有多次调用segue,但是当我第二次弹出第二个视图控制器时,屏幕变黑,我不得不强制退出应用程序。总而言之,当我打开应用程序时,我按下一个按钮按下第二个视图,然后将其弹回到根视图,该视图工作正常,但是当我再次这样做时,整个屏幕变黑。有没有人以前经历过这个或知道如何解决它?
感谢您的帮助。
这是我用来显示控制器的代码
[self performSegueWithIdentifier:@"showSecondView" sender:self];
这是关闭第二个视图
[self.navigationController popViewControllerAnimated:YES];
答案 0 :(得分:2)
事实证明我实际上只在第二次执行了两次segue。问题是在根视图的子视图中使用NSNotificationCenter通知告诉root视图segue,但不注销观察者,以便在返回根视图时我再次订阅了通知。这意味着segue第二次被调用两次,因为通知被收到了两次。