首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIImageView最佳实践

UIImageView最佳实践
EN

Stack Overflow用户
提问于 2013-09-24 13:04:43
回答 2查看 173关注 0票数 1

我一直在想,在使用UIImageView对象时,最佳实践是什么,我会给出一些我不确定的例子。

  1. 首先,我正在开发一个基于转弯的游戏,它同时支持多个匹配,并且某些视图(背景图像、标签和几个按钮)将经常加载到self.view中。显示它们的最佳方法是什么,添加它们,然后删除: self.view附加视图:视图;视图removeFromSuperView; 或者是添加它们并使用隐藏属性的最佳方法(在需要时显示和隐藏,甚至在不同的匹配中)?
  2. 另一个问题是,在从superview中删除UIImageView之后,是否需要将它设置为nil
  3. 最后一个问题是:如果我有一个UIView类,加载到一个UIImageViewController中,并且希望从[self removeFromSuperView]中释放/删除它,那么[self removeFromSuperView]就足够释放该视图类占用的所有内存了吗?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-24 13:09:09

  1. 如果这些视图经常加载到屏幕中,最好的方法是隐藏它们,而不是删除它们。当我不再使用它们的时候,我会移除它们。
  2. 从superview中移除视图会减少对象在1中的保留计数。如果您使用的是ARC,则不必担心它,如果不使用,请确保删除它后保留计数为0(每个分配数+1,添加到子视图,每个版本、自动释放、removeFromSuperView) -1。如果在移除视图后保留计数仍为1,则可以执行= nil来释放它。如果对象的保留计数为0,则系统将释放它。
  3. 和2一样。
票数 1
EN

Stack Overflow用户

发布于 2013-09-24 13:15:22

关于第2点和第3点,这实际上取决于UIImageView的范围。如果将其声明为strong属性,则必须将其设置为零,以便ARC释放内存。如果它只是方法中的一个变量,那么在方法主体的执行结束时,变量无论如何都会被释放(并且只被视图层次结构保留)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18982436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档