我对Swift保存数据和检索数据的所有不同可能性感到困惑。通过userDefaults保存和检索数据很简单,但是为了存储大量图像,这不是最好的方法。然后是核心数据,我认为这很复杂,可用于这么简单的任务。我继续阅读有关DocumentDirectory的内容,我认为这是一种保存和检索数据的好方法。但是,所有教程大多来自swift 2.0及以下版本,我读不太清楚。文档目录是存储和检索图像的最佳方式吗?我正在制作一个在线应用程序,其中包含从用户下载图像。但是,同一用户的图像都是相同的,所以我想离线存储图像以节省一些带宽。
我想使用我可以在String中指定的路径来存储和检索图像。每个用户都有一个唯一的标识符,我想将其用作路径。我怎么能做到这一点?
答案 0 :(得分:0)
保存在文件系统中绝对是在这种情况下使用的最佳方法。
看看这个答案:
https://stackoverflow.com/a/39896556/5109911
if let data = UIImageJPEGRepresentation(image, 0.8) {
let filename = getDocumentsDirectory().appendingPathComponent("copy.png")
try? data.write(to: filename)
}
func getDocumentsDirectory() -> URL {
let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
let documentsDirectory = paths[0]
return documentsDirectory
}
其中image
是您的UIImage