如果我将图像分配给 xib 中的UIImage视图,是否会缓存该图像,以便如果我使用UIImage imageNamed 访问图像:我正在获取缓存的图像数据?
我正在使用 iOS 5.1
如果我将图像分配给 xib 中的UIImage视图,是否会缓存该图像,以便如果我使用UIImage imageNamed 访问图像:我正在获取缓存的图像数据?
我正在使用 iOS 5.1
UIImage imageNamed:
对您使用的任何图像进行自己的缓存。第一次将它用于给定图像时,它将填充缓存,随后它将使用缓存的版本。
UIImageView
在 Interface Builder 中需要一个字符串来告诉它要使用什么图像。看起来,实际在 Xib 中编码以表示图像的对象是一个名为 的私有类UIImageNibPlaceholder
,其中包含一个名为 的私有 NSString 变量runtimeResourceName
。正是这个类实现了initWithCoder:
系统从 xib 加载对象时使用的方法。
那么,问题来了, inside UIImageNibPlaceholder
,initWithCoder:
它使用了 的imageNamed:
功能UIImage
吗?我认为假设它是合理的,因为存储在 xib 中的东西是 string runtimeResourceName
,并且系统在加载 xib 时将该字符串转换为实际图像。
苹果开发者论坛上的这篇文章似乎澄清了这一点(在保密协议下,所以我不能在这里复制它)。我找不到有关该主题的任何可公开访问的信息。