删除UIImageView

时间:2011-05-08 13:04:59

标签: ios iphone animation uiimageview

所以我想要做的是如果image1image2发生冲突,我想从屏幕上移除image1(不只是隐藏它,而是删除它),方式是应用程序不会崩溃或使用很多内存。

我认为这与release有关,但我不确定。我该怎么办呢?

2 个答案:

答案 0 :(得分:3)

从superview中删除它

[image1 removeFromSuperview];

编辑:

如果你有一个指向image1的指针,你可能刚刚将它添加到superview并且还没有发布它。因此,如果是这种情况并避免任何泄漏,只需在从superview中删除它时将其释放。

[image1 removeFromSuperview]; [image1 release], image1 = nil;

答案 1 :(得分:1)

只需将其从超级视图中删除:

[image1 removeFromSuperview];

如果你已经正确管理了你的记忆,那么你现在不需要释放它。以下是几种情况:

  1. 您的班级拥有对image1的引用(即它不是属性)。因此,当您创建{{1}时并将其添加到您的视图中,您确保自动发布它。因此,该观点拥有自己的参考;当从该视图中删除它时,视图将释放它。

  2. 您的班级 拥有对image1的引用(即属性)。image1中,您已发布根据Objective-C内存管理习惯用户-dealloc,因此当您从超级视图中删除它时, 仍然 不需要执行内存管理。< / p>