【问题标题】:Why can I not use UIButton to trigger a dismissModalViewController?为什么我不能使用 UIButton 来触发dismissModalViewController?
【发布时间】:2010-07-12 19:51:56
【问题描述】:

我目前有三个 modalViewController,每个都有自己的关闭方式。

对于其中两个,我必须使用 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];

有什么帮助吗?

【问题讨论】:

    标签: ipad modalviewcontroller


    【解决方案1】:

    您应该尝试使用僵尸工具运行,以查看您在何处向释放对象发送消息。从 Xcode 只需转到 Run->Run with Performance Tool->Zombies 即可启动具有正确设置的 Instruments。

    你可能要么释放(或自动释放)一个你不应该释放的对象(因为你不拥有它),要么没有保留你应该保留的东西。仪器将帮助您找出位置。

    【讨论】:

    • 太好了,既然我知道问题出在哪里,我就把它留在里面并测试 Zombies 工具。谢谢。
    【解决方案2】:

    如果人们好奇这是如何解决的 - 我发现了我的问题:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-23
      • 2011-07-01
      相关资源
      最近更新 更多