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

Ipad 为什么我不能使用UIButton触发dismissModalViewController?,ipad,modalviewcontroller,Ipad,Modalviewcontroller,我目前有三个Modalviewcontroller,每个都有自己的解决方法 对于其中两个,我必须使用UILabel,然后使用touchesedend:方法来确定释放是否在适当的区域内,然后调用以关闭modalViewController 然而,我有一个我可以只使用一个UIButton,它工作得很好 我就是不明白为什么我不能用UIButton来处理所有的问题。我不断得到错误: objc[38738]: FREED(id): message release sent to freed object=

我目前有三个Modalviewcontroller,每个都有自己的解决方法

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

然而,我有一个我可以只使用一个UIButton,它工作得很好

我就是不明白为什么我不能用UIButton来处理所有的问题。我不断得到错误:

objc[38738]: FREED(id): message release sent to freed object=0x5214f70
Program received signal:  “EXC_BAD_INSTRUCTION”.
我假设这与试图访问已发布的内容(duh)有关,但除了-(iAction)closeWindow:(id)sender{}方法调用以下内容外,我没有任何其他操作:

[self dismissModalViewControllerAnimated:YES];

有什么帮助吗?

您应该尝试使用zombies工具运行,以查看在何处发送已释放对象的消息。从Xcode进入Run->runwithperformancetool->Zombies,这将启动具有正确设置的仪器


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

如果人们好奇这是怎么回事-我发现了我的问题:

我正在释放一个我没有保留的对象

以下是我的成功之旅:

好极了,现在我知道问题出在哪里了,我将把它留在里面,然后测试僵尸工具。谢谢