0

我在启用 arc 的项目中添加了 uiviewcontroller 子类,我添加了一个为它创建 ibaction 的按钮,其中不包含任何代码,所有这些都是通过界面生成器完成的,没有手动代码,但是当我点击按钮时,我得到了 exc_bad_access。当按下按钮时,仪器显示它是僵尸攻击。我真的不明白出了什么问题。我创建了新项目并做了同样的事情,它工作得很好。当我定义关闭键盘的方法(辞职第一响应者)时,也会发生同样的事情。

当我crtl +从按钮拖动到界面实现时生成,我选择ibaction和名称并生成此代码。

- (IBAction)pushh:(id)sender;

以及 .m 文件中的实现

- (IBAction)pushh:(id)sender {
}

就这样 ...

4

2 回答 2

1

只是为了结束离线对话,有几个想法:

  1. 您的僵尸无疑是 ecnObj 超出范围的结果。如果它是视图控制器的 ivar,那么过早释放问题就会消失。

  2. 不想创建一个新的视图控制器,然后在transitionFromView. 如果你想在视图控制器之间转换(在 iOS5 中)你应该使用pushViewControlleror presentViewController(或者如果你正在使用容器视图控制器,你可以使用transitionFromViewController)。请参阅 View Controller Programming Guide 中关于“从其他视图控制器呈现视图控制器”的讨论。

于 2012-04-16T18:03:16.987 回答
0

我的解决方案是删除 ib 中的按钮iboutlet,同时删除 ib 中的按钮ibaction,然后将其连接回来。

于 2012-07-02T14:41:30.190 回答