【发布时间】:2020-07-22 07:59:44
【问题描述】:
我的代码是这样的:
//save to core data
func addPaper(){
let paper = Paper(context: self.context)
paper.id = UUID()
paper.subject = self.subject
paper.score = Float(self.score) ?? 0
paper.title = self.title
let imgs = try? NSKeyedArchiver.archivedData(withRootObject: self.images, requiringSecureCoding: true)
paper.images = imgs
try? self.context.save()
}
//retrieve to [UIImage]
let imgs = NSKeyedUnarchiver.unarchivedObject(ofClass: [UIImage], from: paper.images!)
有错误提示:静态方法'unarchivedObject(ofClass:from:)'要求'[UIImage]'符合'NSCoding'
我不知道下一步该怎么做,有人可以帮我吗?
【问题讨论】:
-
您不应该将图像存储在 coredata 中...将它们存储在目录中并将 url 路径保存在 coredata 中
-
您不能使用 NSKeyedArchiver 将 UIImage 转换为 Data。这不应该先抛出错误吗?您需要使用 JPEG 或 PNG 转换,然后您将拥有数据。
-
保存到核心数据没有错误,