我的应用从服务器下载图片。我想将这些图像保存到Caches文件夹,然后使用UIImage(named:...
访问它们以进行内存缓存。 UIImage(named: "fileURL", in: NSBundle.mainBundle, compatibleWith: nil)
会找到Caches文件夹还是需要创建不同的包?
答案 0 :(得分:6)
您不希望将包用于缓存文件夹。您应该使用NSFileManager
来获取caches文件夹的路径。例如,在Swift 2中:
let fileURL = try! NSFileManager.defaultManager()
.URLForDirectory(.CachesDirectory, inDomain: .UserDomainMask, appropriateForURL: nil, create: false)
.URLByAppendingPathComponent("test.jpg")
let image = UIImage(contentsOfFile: fileURL.path!)
或Swift 3:
let fileURL = try! FileManager.default
.url(for: .cachesDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
.appendingPathComponent("test.jpg")
let image = UIImage(contentsOfFile: fileURL.path)