【发布时间】:2017-02-02 19:34:52
【问题描述】:
我有一个字典 offlineImages = [String: UIImage](),我想将它存储到 CoreData/UserDefaults 中。我该怎么做?最好的选择是什么?
尝试使用文件系统,但图像不会显示(offlineImages 数组包含图像的本地 URL):
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "offlineCell")
let mainImageView = cell?.viewWithTag(2) as! UIImageView
let mainImageURL = offlineImages[indexPath.row]
let mainImageData = NSData(contentsOf: mainImageURL)
let mainImage = UIImage(data: mainImageData! as Data)
mainImageView.image = mainImage
return cell!
}
【问题讨论】:
-
不要。将图像写入文件系统。并且永远不要将那么多数据写入 NSUserDefaults。它适用于少量数据。
-
@rmaddy,如何将其存储到 CoreData 中?
-
你没有。将图像写入文件系统。只需将文件名存储在核心数据中。
-
我试过了,但尝试通过其本地 URL 显示图像没有任何效果。
-
除非您使用相关代码和有关您尝试的具体细节更新您的问题,否则没有人可以提供帮助。