zl程序教程

您现在的位置是:首页 >  其它

当前栏目

如何在 CoreData 中保存图像

如何 图像 保存 CoreData
2023-09-11 14:18:47 时间

是否可以将 UIImage 存储在核心数据中?

是的,我们可以将图像与核心数据一起存储,但不能直接存储为 UIImage。这可以通过将 UIImage 转换为 Data 来实现。因为 UIImage 在 Core Data 中不是有效的属性类型。

如果您是核心数据的新手并且想从基础开始学习,请参阅这篇文章。这里只讨论将图像保存到核心数据中。

核心数据中用于存储图像的属性类型是Binary Data。 因此,在您的模型中将属性类型声明为二进制数据。

在这里插入图片描述

要将图像转换为 png 或 jpeg 等可移植数据格式,请使用以下代码:

let jpegImageData = sampleImage.jpegData(compressionQuality: 1.0)
let pngImageData  = sampleImage.pngData() 

将图像保存在core data中

let entityName =  NSEntityDescription.entity(forEntityName: 'Your Entity Name', in: managedContext)!
let image = NSManagedObject(entity: entityName, insertInto: managedContext)
image.setValue(jpegData, forKeyPath: 'Your Attribute Name')
do {
  try managedConte