Swift Core Data 图片存储与读取Demo

简介: 实体的模型定义: 实体的class定义:@objc(ImageEntity)class ImageEntity: NSManagedObject { @NSManaged...

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

这里写图片描述

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

目录
相关文章
|
14天前
|
API 数据库 Swift
【Swift开发专栏】Swift中的数据持久化:Core Data与Realm
【4月更文挑战第30天】本文探讨了Swift中两种流行的数据持久化框架——Core Data和Realm。数据持久化是保持应用数据在不同运行周期间一致性的关键。Core Data,苹果的ORM系统,适合处理复杂数据关系,提供与iOS生态系统的无缝集成。使用Core Data涉及定义数据模型、生成NSManagedObject子类、配置持久化容器及执行数据操作。而 Realm,一个轻量级数据库,以其高性能、易于使用的API和实时数据同步适用于跨平台项目。在Swift中使用Realm,需定义数据模型、配置Realm实例、执行数据操作并观察数据变化。理解这两者能帮助开发者构建更高效、可靠的应用。
|
Swift
Swift - 根据图片URL获取图片的大小
Swift - 根据图片URL获取图片的大小
480 0
|
Swift
swift之图片浏览器
swift之图片浏览器
334 0
swift之图片浏览器
|
JSON 编译器 API
Swift 4.0 新特征汇总及演示附 Demo(下)
Swift 4.0 新特征汇总及演示附 Demo(下)
146 0
Swift 4.0 新特征汇总及演示附 Demo(下)
|
安全 Swift 容器
Swift 4.0 新特征汇总及演示附 Demo(上)
Swift 4.0 新特征汇总及演示附 Demo(上)
91 0
Swift 4.0 新特征汇总及演示附 Demo(上)
|
存储 监控 Swift
Swift实用小册09:存储属性、计算属性及属性观察器的使用
Swift实用小册09:存储属性、计算属性及属性观察器的使用
221 0
Swift实用小册09:存储属性、计算属性及属性观察器的使用
|
存储 API Swift
(九)OpenStack---M版---双节点搭建---Swift安装和配置(单存储节点)
(九)OpenStack---M版---双节点搭建---Swift安装和配置(单存储节点)
217 0
(九)OpenStack---M版---双节点搭建---Swift安装和配置(单存储节点)
|
缓存 Swift iOS开发
iOS开发swift版异步加载网络图片(带缓存和缺省图片)
iOS开发swift版异步加载网络图片(带缓存和缺省图片)
425 0
|
存储 Swift
Swift的类,及存储属性,计算发发样码
进入机械的学习模式, 就是把代友敲完。 以期能加深些记忆。
1209 0
swift4.0 data转json
func nsdataToJSON(data: NSData) -> AnyObject? { do { return try JSONSerialization.
951 0