【发布时间】:2012-09-08 09:23:13
【问题描述】:
我在模拟器上运行应用程序时遇到问题。 问题:
EXC_BAD_ACCESS 发生在线程 1 的 objc_msgSend 处。
截图:
在我的应用程序中,我有多个 ViewController。当我点击UINavigationBar的后退按钮时,就会产生这种类型的问题,我无法解释我的问题,因为所有功能都正常工作。
示例:-
1 - fitstVController(正常工作)
=> 它有 UITableView,当我点击特定行时,它会转到另一个 UIViewController (SecoundViewController)
2 - SecoundViewController(正常工作)
=> 它有 UITableView 和 UIActionSheet。当我选择 UiActionSheet 的按钮时,另一个 UIViewController (ThirdViewController) 是打开的
3 - ThirdViewController(正常工作)
=> 它有 UITableView 和多个 UIPickerView。但这里的问题是我不能回到以前的 UIViewController (SecoundViewController)。 => 当我这样做时,EXC_BAD_ACCESS(代码 = 1,地址 = 0x30000008) 生成问题。
【问题讨论】:
-
向我们展示执行从第一个视图控制器到第二个视图控制器的转换、从第二个控制器到第三个控制器的位置以及如何“返回”到前一个控制器的代码。你在做
pushViewController和popViewControllerAnimated吗?或者你在做presentViewController和dismissViewControllerAnimated?另外,如果你还没有打开僵尸,请确保你打开了。 -
@Rob - 首先我要感谢你试图帮助我。我将使用
pushViewController烘烤到前一个控制器。简而言之,我使用 UINavigationController。 -
很好,然后向我们展示您调用
pushViewController和popViewControllerAnimated的代码。另外,enable zombies. -
在Thirdviewcontroller 中,尝试逐一注释Thirdviewcontroller.m 中释放对象的每一行。
-
设置异常断点——这将帮助您追踪问题的根源。 dosomethinghere.com/2011/04/18/xcode-4-exception-breakpoint 展示了如何做到这一点。
标签: iphone objective-c ios xcode