Swift Core Data 图片存储与读取Demo

来源:互联网 发布:iphone6s蜂窝移动数据 编辑:程序博客网 时间:2024/06/06 04:01

实体的模型定义:
这里写图片描述

这里写图片描述

实体的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地址

2 0