什么时候应该使用UIImage的方法init(contentsOfFile:)
,什么时候适合使用init(named:)
和init(data:)
?我读到它并且似乎唯一的区别是,init(named:)
图像保持一段时间并且init(contentsOfFile:)
它会尽快解除分配,例如当它不再出现在屏幕上时。如果错误,请更正我的假设。不确定init(data:)
有什么用处。
答案 0 :(得分:2)
例如,当您在手机某处存储图像路径时,可以使用init(contentsOfFile:)
。
如果您的应用程序包中包含传递名称的图像,则使用init(named:)
。
如果您有一些图像数据(例如,您从某些网络源下载了图像数据)并想要根据该数据创建图像,则使用init(data:)
。
三个初始化程序之间的一个重要区别是只有imageNamed
初始化程序缓存了返回的图像对象!
你应该真正查阅官方文档,了解这方面的问题:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIImage_Class/#//apple_ref/doc/uid/TP40006890-CH3-SW11