推送/弹出第二个视图控制器后iOS UI导致​​崩溃

时间:2015-06-13 16:01:44

标签: ios objective-c user-interface uinavigationcontroller

在我的iOS应用中,整个用户界面都是以编程方式编码的,这意味着没有xib或故事板。一切正常,直到我通过 UINavigationController 添加另一个视图控制器。

第一个视图控制器运行良好,当第二个视图控制器被推动时,它也可以正常工作。但是在第二个视图控制器弹出并且第一个视图控制器重新出现之后,与用户界面的任何元素的任何交互都会使应用程序崩溃。

知道可能导致这种情况的原因吗?

更新:例外exception

的屏幕截图

1 个答案:

答案 0 :(得分:1)

应用程序崩溃时会生成崩溃日志。所有消息以及堆栈回溯都在那里。

您可以通过将设备连接到Mac,然后打开“设备”窗口以及查看设备日志来查看设备的崩溃日志。

但是通过连接你的设备,然后在设备上的Xcode中构建和运行它,在Xcode中调试它会更容易。

当应用程序崩溃时(由于某些异常),Xcode可以捕获此信息,控制权将转移到调试器。

您可以在Xcode中添加例外断点,以便在发生异常时立即停止您的应用。

要添加例外断点,请切换到断点导航器。单击窗格底部的小+按钮,然后选择添加异常断点

应用程序崩溃后,您可以查看堆栈回溯。调用堆栈中的前几个项目可能在Apple的代码中,但稍稍后退将是来自您的视图控制器的调用,显示显示问题的行。

至于什么是特别错误,它可以是任何数量的东西。除非您共享显示这些对象的属性以及它们被(de)分配的位置,否则我们无法提供具体的帮助。