说我的应用程序下载图像,是否可以通过编程方式将其保存到Images.xcassets,以便不必再次下载图像? 或者最好的选择是继续从服务器检索它?
答案 0 :(得分:5)
您无法写入数据包,只需将数据保存到沙箱中的文档/缓存文件夹
答案 1 :(得分:4)
您无法保存到Images.xcassets
,但您可以将其保存到文件并使用imageWithContentsOfFile:
进行访问。
您还可以使用缓存库,例如JGAFImageCache或Haneke。
答案 2 :(得分:4)
您无法将其保存到images.assets。但是你可以将它保存到文件目录中这样做。 (此处的代码 - How to convert code objective c to Swift to save image?)
let nsDocumentDirectory = NSSearchPathDirectory.DocumentDirectory
let nsUserDomainMask = NSSearchPathDomainMask.UserDomainMask
if let paths = NSSearchPathForDirectoriesInDomains(nsDocumentDirectory, nsUserDomainMask, true) {
if paths.count > 0 {
if let dirPath = paths[0] as? String {
let readPath = dirPath.stringByAppendingPathComponent("Image.png")
let image = UIImage(named: readPath)
let writePath = dirPath.stringByAppendingPathComponent("Image2.png")
UIImagePNGRepresentation(image).writeToFile(writePath, atomically: true)
}
}
}