2017-02-27 51 views
0

我在运行时下载了一个资源。图像驻留在“缓存”目录中的某个子文件夹中。如何从无文件的文件中将图像加载到UIImage

当我知道该文件的路径时,如何将图像加载到UIImage,图像是“PNG”类型,但它没有扩展名?

我看不到的UIImage的任何构造函数取文件作为参数的类型,所以我认为这可能是棘手的一个

回答

1

不,这并不难,只要先加载数据。 这里的cacheURL是该文件的NSURL

NSError *error = nil; 
NSData *data = [NSData dataWithContentsOfURL:cacheURL options:NSDataReadingMapped error:&error]; 

现在你可以检查文件是否可以加载:

if (data) { 
    image = [UIImage imageWithData:data]; 
} 

代码是在Objective-C,因为我刚刚从旧项目复制,但应该易于转换为斯威夫特。

1

由于您的文件已经下载

let path = "theFilePath" 
if let data = NSData(contentsOfFile: path) { 
    let image = UIImage(data: data as Data) 
}