实体的模型定义:
实体的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)
}