ios - UIImage 初始化选项

标签 ios swift uiimage

什么时候应该使用 UIImage 的方法 init(contentsOfFile:),什么时候适合使用 init(named:) 以及什么时候 init(data:)?我读到了它,似乎唯一的区别是 init(named:) 图像会保留一段时间,而 init(contentsOfFile:) 会尽快释放它尽可能,例如,当它不再出现在屏幕上时。如果他们是错误的,请纠正我的假设。不确定 init(data:) 有什么用。

最佳答案

例如,当您有一个存储在手机某处的图像的路径时,您可以使用 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

关于ios - UIImage 初始化选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33660096/

相关文章:

ios - IOS 教程中的 UnwindToList 未激活

swift - 创建 csv 文件时的事件指示器

ios - 将旧数据模型转换为全新的数据模型(从头开始并删除其他所有内容)

ios - 滚动时 UIScrollView 问题

swift - Apple 编写 Swift 编程代码时出现意外错误(可选链接)

ios - Swift AV Player 视频应该是 AspectFill 或全屏

ios - 转换从 CIFaceFeature 返回的 CGPoint 结果

iphone - 图像未使用 UIImage drawInRect 缩放? (见附件代码)

ios - didFinishPickingMediaWithInfo 方向问题

iOS CoreData+MoGenerator : How do I initialize a Managed Object once only when I am using nested contexts?