如何在CoreData中添加图像以及如何在CoreData中保存图像[重复]

Posted

技术标签:

【中文标题】如何在CoreData中添加图像以及如何在CoreData中保存图像[重复]【英文标题】:How To Add A Image In CoreData And How to Save The Image In CoreData [duplicate] 【发布时间】:2018-04-10 11:30:22 【问题描述】:

如何在核心数据中添加图片?我选择的图像类型。以及如何保存核心数据图像。如何添加图片?

【问题讨论】:

***.com/a/27996685/8306054 你提到这个了吗? 如果您的目的只是为了保存图像。最好将其保存在 Document 目录中并将其路径或名称存储到核心数据,以便您可以获取它们 我已经保存图像并在表格视图中获取图像。 所以您可以使用代码将图像保存在文档目录中,并将其路径保存到核心数据,然后在表格视图中显示。您从哪里获取图像。?您是从图像选择器中选择的。? 好的,谢谢,我现在就试试 【参考方案1】:

第 1 步:- 将图像保存在文档目录中

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) 
if let image = info[UIImagePickerControllerOriginalImage] as? UIImage 
    let path = try! FileManager.default.url(for: FileManager.SearchPathDirectory.documentDirectory, in: FileManager.SearchPathDomainMask.userDomainMask, appropriateFor: nil, create: false)
    let newPath = path.appendingPathComponent("image.jpg") //Possibly you Can pass the dynamic name here
    // Save this name in core Data using you code as a String.
    let jpgImageData = UIImageJPEGRepresentation(image, 1.0)
    do 
        try jpgImageData!.write(to: newPath)
     catch 
        print(error)
    

步骤:-2:从文档目录中取回图像并在表格视图单元格中逐行显示索引路径。

let nsDocumentDirectory = FileManager.SearchPathDirectory.documentDirectory
let nsUserDomainMask    = FileManager.SearchPathDomainMask.userDomainMask
let paths               = NSSearchPathForDirectoriesInDomains(nsDocumentDirectory, nsUserDomainMask, true)
if let dirPath          = paths.first
    
        let imageURL = URL(fileURLWithPath: dirPath).appendingPathComponent("image.png") //Pass the image name fetched from core data here
        let image    = UIImage(contentsOfFile: imageURL.path)
        cell.imageView.image = image

这个方法简单方便

【讨论】:

以上是关于如何在CoreData中添加图像以及如何在CoreData中保存图像[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Core Data 中本地化数据

如何组织具有循环依赖的 Core Data 实体?

如何在 Swift 中从 Core Data 访问子数据和父数据

如何将 PUT 请求添加到 RestKit + Core Data?

如何将 Core Data 添加到已经创建的 iOS 项目中

如何在 iPhone 应用程序之间共享一个 Core Data 模型?