【问题标题】:How do I release self (UIImageView) in touchesEnded?如何在 touchesEnded 中释放自我(UIImageView)?
【发布时间】:2010-11-17 10:19:33
【问题描述】:

我有一个对象是 UIImageView 的子对象。在所有这些接触方法之前,我将此对象添加到超级视图,然后用户移动它。在touchesEnded中,有时我想释放自我。我试过了:

- [self release]

- [self removeFromSuperview]

但所有这些尝试都以异常告终。什么才是释放自我的正确方式?

【问题讨论】:

  • 你没有。添加超级视图时,请确保它是自动释放的,或者在添加后立即释放引用。当您执行 [self removeFromSuperview] 时,超级视图将为您释放它。
  • 我就是这么做的!我才发现问题出在哪里。我将 dealloc 方法中的 [super dealloc] 从第一行移到 dealloc 的底部,现在可以使用了 :) 谢谢
  • 哦,是的,[super dealloc] 始终必须是你的 dealloc 方法中的最后一件事,否则当方法返回时你的对象将消失:)

标签: iphone objective-c memory-management uiimageview self


【解决方案1】:

你无法释放自我。 self 是主视图,如果要从 UIImageView 中删除对象,则必须使用该对象名称将其删除。 [objNameSubViewOFUIImageView removeFromSuperview]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多