如果我将图像分配给xib中的 UIImage 视图,该图像是否已缓存,以便在使用 UIImage imageNamed:访问图像时,我将获得缓存Image数据?
我正在使用iOS 5.1
答案 0 :(得分:6)
UIImage imageNamed:
会自动缓存您使用的所有图像。第一次将它用于给定图像时,它将填充缓存,随后它将使用缓存版本。
UIImageView
需要一个字符串来告诉它要使用的图像。实际上在Xib中编码以表示图像的对象似乎是一个名为UIImageNibPlaceholder
的私有类,它包含一个名为runtimeResourceName
的私有NSString变量。这个类实现了initWithCoder:
方法,该方法在系统从xib加载对象时使用。
所以,问题是,在UIImageNibPlaceholder
initWithCoder:
内,它是否使用imageNamed:
的{{1}}函数?我认为这样做是合理的,因为存储在xib中的东西是字符串UIImage
,并且系统在加载xib时将该字符串转换为实际图像。
This post似乎澄清了这一点(根据NDA,我不能在此复制)。我找不到任何关于这个主题的公开信息。