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