Swift Core Data 图片存储与读取Demo

前端之家收集整理的这篇文章主要介绍了Swift Core Data 图片存储与读取Demo前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

实体的模型定义:

实体的class定义:

  1. @objc(ImageEntity)
  2. class ImageEntity: NSManagedObject {
  3. @NSManaged var imageData: NSData
  4. }

存储:

  1. @IBAction func saveImageToCoreData() {
  2. let delegate = UIApplication.sharedApplication().delegate as AppDelegate
  3. let context = delegate.managedObjectContext
  4.  
  5. let imageData = UIImagePNGRepresentation(UIImage(named: "image"))
  6.  
  7. let imageEntity = NSEntityDescription.entityForName("ImageEntity",inManagedObjectContext: context!)
  8. let image = ImageEntity(entity: imageEntity!,insertIntoManagedObjectContext: context!)
  9. image.imageData = imageData
  10.  
  11. var error: NSError?
  12. if context!.save(&error) == false {
  13. println("Failed: \(error!.localizedDescription)")
  14. }
  15. }

读取:

  1. @IBAction func loadImageFromCoreData() {
  2. let delegate = UIApplication.sharedApplication().delegate as AppDelegate
  3. let context = delegate.managedObjectContext
  4.  
  5. let request = NSFetchRequest(entityName: "ImageEntity")
  6. var error: NSError?
  7. let imageEntities = context?.executeFetchRequest(request,error: &error)
  8.  
  9. let imageEntity = imageEntities?.first! as ImageEntity
  10. self.imageView.image = UIImage(data: imageEntity.imageData)
  11. }

Demo地址

猜你在找的Swift相关文章