推送/弹出第二个 View Controller 后,iOS UI 导致崩溃

标签 ios objective-c user-interface uinavigationcontroller

在我的 iOS 应用程序中,整个用户界面都是以编程方式编码的,这意味着没有 xib 或 Storyboard。一切正常,直到我通过 UINavigationController 添加另一个 View Controller 。

第一个 View Controller 运行良好,当第二个 View Controller 被推送时,它也运行良好。但是在第二个 View Controller 弹出并重新出现第一个 View Controller 后,与用户界面的任何元素的任何交互都会导致应用程序崩溃。

知道是什么原因造成的吗?

更新异常截图exception

最佳答案

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

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

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

当应用程序崩溃(由于某些异常)时,Xcode 可以捕捉到这一点,并将控制权转移到调试器。

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

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

应用程序崩溃后,您可以查看堆栈回溯。调用堆栈中的前几项可能在 Apple 的代码中,但稍靠后的部分将是来自您的 View Controller 的调用,显示揭示问题的行。

至于具体有什么问题,可能有很多事情。除非您共享显示这些对象的属性以及它们的(取消)分配位置的代码,否则我们无法提供具体帮助。

关于推送/弹出第二个 View Controller 后,iOS UI 导致崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30820695/

相关文章:

matlab - 如何在Matlab GUI中的轴上绘制垂直线?

ios - 仅在 iPad 纵向上将 Bootstrap 导航栏元素居中?

ios - 没有委托(delegate)方法的缩放 UIScrollView 的子类

ios - 检查推送通知权限后,在completionHandler block 中从nib 文件添加 subview

ios - 在屏幕外绘制一个 uiview

ios - iPhone写入文件失败

java - 在 PayPal SDK (Java) 中执行批准的付款时从哪里获取 payerId

javascript - 如何优化 React 模式以允许用户将新数据输入到状态中

ios - 如何从masterdetailpage中的detailpage推送异步?

user-interface - 功能风格的对象模型?