为什么我不能使用UIButton来触发dismissModalViewController?

时间:2010-07-12 19:51:56

标签: ipad modalviewcontroller

我目前有三个modalViewControllers,每个都有自己解散的方法。

对于其中两个,我必须使用UILabel然后使用touchesEnded:方法来确定释放是否在适当的区域内 - 然后调用以解除modalViewController。

但是,我有一个可以使用UIButton的工具,它工作正常。

我无法弄清楚为什么我不能为所有这些使用UIButton。我一直收到错误:

objc[38738]: FREED(id): message release sent to freed object=0x5214f70
Program received signal:  “EXC_BAD_INSTRUCTION”.

我假设它与尝试访问已发布的内容(duh)有关 - 但除了 - (IBAction)closeWindow:(id)sender {}方法之外我没有任何其他事情发生:

[self dismissModalViewControllerAnimated:YES];

任何帮助?

2 个答案:

答案 0 :(得分:1)

您应该尝试使用zombies工具运行,以查看您在哪里发送自由对象的消息。从Xcode进入Run-> Run with Performance Tool-> Zombies,这将启动具有正确设置的Instruments。

您可能正在释放(或自动释放)您不应该拥有的对象(因为您不拥有它)或者未能保留您应该保留的对象。仪器将帮助您找到位置。

答案 1 :(得分:0)

如果人们对这是如何运作感到好奇 - 我发现了我的问题:

我正在发布一个我没有保留的对象。

这是我的成功之旅: http://www.iphonedevsdk.com/forum/iphone-sdk-development/52946-why-can-i-not-use-uibutton-dismiss-modalviewcontroller-consistently.html