是否在缓存的xib中分配了图像?

Und*_*ion 2 interface-builder xib uiimage ios ios5

如果我将图像分配给xib中的UIImage视图,那么该图像是否被缓存,以便如果我使用UIImage imageNamed访问图像:我正在缓存图像数据?

我正在使用iOS 5.1

Amy*_*all 6

UIImage imageNamed:自己缓存你使用的任何图像.第一次将它用于给定图像时,它将填充缓存,然后它将使用缓存版本.

UIImageView在Interface Builder中,它使用一个字符串来告诉它使用什么图像.实际上在Xib中编码以表示图像的对象似乎是一个名为的私有类UIImageNibPlaceholder,它包含一个名为的私有NSString变量runtimeResourceName.这个类实现了initWithCoder:系统从xib加载对象时使用的方法.

所以,问题是,里面UIImageNibPlaceholderinitWithCoder:,是否使用了它的imageNamed:功能UIImage?我认为这样做是合理的,因为存储在xib中的东西是字符串runtimeResourceName,系统在加载xib时将该字符串转换为实际图像.

Apple开发者论坛上的这篇文章似乎澄清了一点(在NDA下,所以我不能在这里复制它).我找不到任何关于这个主题的公开信息.

  • 非常有趣的答案!但是,我认为它不使用`imageNamed:`,因为我有一个实用程序用于加载h568图像,这些图像混合了原始方法,并且在IB中设置图像时不会调用. (2认同)