iOS UI 在 pushing/popping 第二个视图控制器后导致崩溃
iOS UI causes crash after pushing/popping second view controller
在我的 iOS 应用程序中,整个用户界面都是以编程方式编码的,这意味着没有 xib 或故事板。一切正常,直到我通过 UINavigationController 添加另一个视图控制器。
第一个视图控制器运行良好,当第二个视图控制器被推送时,它也运行良好。但是在第二个视图控制器弹出并重新出现第一个视图控制器后,与用户界面的任何元素的任何交互都会使应用程序崩溃。
知道是什么原因造成的吗?
更新:异常截图
应用程序崩溃时会生成崩溃日志。所有消息以及堆栈回溯都在那里。
您可以通过将设备连接到您的 Mac,然后打开设备 window 并查看设备日志来查看设备的崩溃日志。
但在 Xcode 内调试它更容易,方法是连接您的设备,然后在设备上 Xcode 中构建并 运行 它。
当应用程序崩溃(由于某些异常)时,Xcode 可以捕捉到这一点,控制权将转移到调试器。
您可以在 Xcode 中添加一个 Exception Breakpoint 以在异常发生时立即停止您的应用程序。
要添加异常断点,请切换到断点导航器。单击窗格底部的小 + 按钮,然后 select 添加异常断点 .
应用程序崩溃后,您可以查看堆栈回溯。调用堆栈中的前几项可能在 Apple 的代码中,但稍微靠后的部分将是来自您的视图控制器的调用,显示揭示问题的行。
至于具体有什么问题,可能有很多事情。除非您共享显示这些对象的属性的代码,以及它们的(取消)分配位置,否则我们无法提供具体帮助。
在我的 iOS 应用程序中,整个用户界面都是以编程方式编码的,这意味着没有 xib 或故事板。一切正常,直到我通过 UINavigationController 添加另一个视图控制器。
第一个视图控制器运行良好,当第二个视图控制器被推送时,它也运行良好。但是在第二个视图控制器弹出并重新出现第一个视图控制器后,与用户界面的任何元素的任何交互都会使应用程序崩溃。
知道是什么原因造成的吗?
更新:异常截图
应用程序崩溃时会生成崩溃日志。所有消息以及堆栈回溯都在那里。
您可以通过将设备连接到您的 Mac,然后打开设备 window 并查看设备日志来查看设备的崩溃日志。
但在 Xcode 内调试它更容易,方法是连接您的设备,然后在设备上 Xcode 中构建并 运行 它。
当应用程序崩溃(由于某些异常)时,Xcode 可以捕捉到这一点,控制权将转移到调试器。
您可以在 Xcode 中添加一个 Exception Breakpoint 以在异常发生时立即停止您的应用程序。
要添加异常断点,请切换到断点导航器。单击窗格底部的小 + 按钮,然后 select 添加异常断点 .
应用程序崩溃后,您可以查看堆栈回溯。调用堆栈中的前几项可能在 Apple 的代码中,但稍微靠后的部分将是来自您的视图控制器的调用,显示揭示问题的行。
至于具体有什么问题,可能有很多事情。除非您共享显示这些对象的属性的代码,以及它们的(取消)分配位置,否则我们无法提供具体帮助。