Swift Core Data 图片存储与读取Demo

最后更新于:2022-04-01 12:36:24

# Swift Core Data 图片存储与读取Demo 实体的模型定义: ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-18_569ca44d7bb0a.jpg) ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-01-18_569ca44d8bc95.jpg) 实体的class定义: ~~~ @objc(ImageEntity) class ImageEntity: NSManagedObject { @NSManaged var imageData: NSData } ~~~ 存储: ~~~ @IBAction func saveImageToCoreData() { let delegate = UIApplication.sharedApplication().delegate as AppDelegate let context = delegate.managedObjectContext let imageData = UIImagePNGRepresentation(UIImage(named: "image")) let imageEntity = NSEntityDescription.entityForName("ImageEntity", inManagedObjectContext: context!) let image = ImageEntity(entity: imageEntity!, insertIntoManagedObjectContext: context!) image.imageData = imageData var error: NSError? if context!.save(&error) == false { println("failed: \(error!.localizedDescription)") } } ~~~ 读取: ~~~ @IBAction func loadImageFromCoreData() { let delegate = UIApplication.sharedApplication().delegate as AppDelegate let context = delegate.managedObjectContext let request = NSFetchRequest(entityName: "ImageEntity") var error: NSError? let imageEntities = context?.executeFetchRequest(request, error: &error) let imageEntity = imageEntities?.first! as ImageEntity self.imageView.image = UIImage(data: imageEntity.imageData) } ~~~ ## [Demo地址](https://github.com/zhangao0086/CoreDataSaveImageDemo)
';