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地址

目录
相关文章
|
5月前
|
存储 程序员 Swift
Swift开发——存储属性与计算属性
Swift推荐使用结构体进行开发,结构体支持属性和方法,且作为值类型。结构体属性包括存储属性(如radius)和计算属性(如r),计算属性不存储值,类似方法。结构体用`struct`定义,命名遵循大驼峰规则。实例名遵循小驼峰规则。属性可在结构体中任意位置定义,静态属性用`static`。存储属性可为`lazy`实现懒加载。结构体实例通过`.`访问属性和方法,静态属性和方法用`结构体名.`访问。计算属性可读写,可通过`get`和`set`定义。程序段1展示了结构体Point和Circle的属性和方法,包括私有属性、只读计算属性、可读写计算属性及`mutating`方法。
35 0
Swift开发——存储属性与计算属性
|
6月前
|
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实例、执行数据操作并观察数据变化。理解这两者能帮助开发者构建更高效、可靠的应用。
168 0
|
Swift
swift之图片浏览器
swift之图片浏览器
386 0
swift之图片浏览器
|
存储 Swift
Swift - Cell自适应+代码约束(SnapKit)横竖屏支持平铺+根据URL获取图片size
Swift - Cell自适应+代码约束(SnapKit)横竖屏支持平铺+根据URL获取图片size
217 0
|
Swift
Swift - 根据图片URL获取图片的大小
Swift - 根据图片URL获取图片的大小
556 0
|
JSON 编译器 API
Swift 4.0 新特征汇总及演示附 Demo(下)
Swift 4.0 新特征汇总及演示附 Demo(下)
170 0
Swift 4.0 新特征汇总及演示附 Demo(下)
|
安全 Swift 容器
Swift 4.0 新特征汇总及演示附 Demo(上)
Swift 4.0 新特征汇总及演示附 Demo(上)
110 0
Swift 4.0 新特征汇总及演示附 Demo(上)
|
存储 监控 Swift
Swift实用小册09:存储属性、计算属性及属性观察器的使用
Swift实用小册09:存储属性、计算属性及属性观察器的使用
271 0
Swift实用小册09:存储属性、计算属性及属性观察器的使用
|
存储 API Swift
(九)OpenStack---M版---双节点搭建---Swift安装和配置(单存储节点)
(九)OpenStack---M版---双节点搭建---Swift安装和配置(单存储节点)
250 0
(九)OpenStack---M版---双节点搭建---Swift安装和配置(单存储节点)
|
缓存 Swift iOS开发
iOS开发swift版异步加载网络图片(带缓存和缺省图片)
iOS开发swift版异步加载网络图片(带缓存和缺省图片)
482 0