在整个应用程序中共享UIImageView用于背景图像 - Singleton Property

时间:2010-11-08 09:51:28

标签: iphone uitableview singleton

我有一个UIImage,我在整个应用程序中用作分组UITableViews的背景图像。

我认为为了提高效率,我会在appDelegate中使用我的UIImage分配和初始化UIView,然后在我的应用程序中访问。这样我只会分配一次imageView,如果我钻进一个带有多个tableviews的导航堆栈,我不需要担心在每一步下降和上升或产生开销时释放和恢复图像。 / p>

一旦我尝试了这一点,我就注意到UITableView类似乎将我的共享图像降低到0,因此它就会消失。具有完美的意义,但我需要阻止图像达到0保留计数才能使其工作。

这是一种完全愚蠢的方法吗?

如果不是保留我的共享ImageView的最佳方式?我知道我可以在设置每个tableview的backgroundimage时调用retain,但我想知道是否有办法在appDelegate中将共享UIImageView的保留计数设置为NSUIntegerMax。我之前已经设置了单例类,但在这种情况下,我试图拥有一个永远不会发布的属性,而不是创建一个UIImageView单例子类。

对不起,如果这有点混乱,感谢任何指示。

1 个答案:

答案 0 :(得分:2)

我不会担心+ (UIImage *)imageNamed:(NSString *)name被缓存了。 来自规范:

  

此方法在系统缓存中查找具有指定名称的图像对象,并返回该对象(如果存在)。如果匹配的图像对象尚未在缓存中,则此方法从指定的文件加载图像数据,对其进行缓存,然后返回结果对象。