zoukankan      html  css  js  c++  java
  • Swift Core Data 图片存储与读取Demo

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

    这里写图片描述

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

  • 相关阅读:
    Swift -- 8.3 多态
    Swift -- 8.2 类的构造与析构
    Swift -- 8.1 继承
    Swift -- 7.6 构造器
    Swift -- 7.5 类型属性,方法
    Swift -- 7.4 方法,下标,可选链
    Swift -- 7.3 类和结构体
    Swift -- 7.2 枚举
    Swift -- 7.1 面向对象简介
    4-5轮选区的不透明度1.7
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/5385919.html
Copyright © 2011-2022 走看看