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

时间: 2024-08-10 07:23:34

Swift Core Data 图片存储与读取Demo的相关文章

iOS Swift学习笔记 Core Data (一)Hello Core Data

正在学习swift的Core Data,做个笔记,顺便分享源码 这个实例是一个很简单的Table,通过右上角的Add按钮可以添加新的用户名.数据存储在CoreData中,这样,才不会丢失. 通过这个例子可以学会: 使用Xcode的model编辑器创建数据对象的model data. 添加新的记录到CoreData中 从CoreData中获取记录集合 显示记录到table view中 这个例子十分简单,还有很多可以改进的地方,比如,每次要操作managed class都需要访问AppDelegat

Swift 3.0 使用Core Data

swift版本:3.0 Xcode版本:8.0 iOS版本:10.0 自iOS10 和swift3.0 之后,苹果的访问CoreData的方法发生了很大改变,简洁了许多,下面的内容是从0开始建立一个entity,并实现其存储和读取的功能. 注:这个是一种convenience方法,即快速实现.所以并不需要新建对应于entity的class 1.新建工程 没什么好说的,勾选 Use Core Data 2.打开xcdatamodeld文件,新建一个entity,我们叫它Person,然后在右侧的A

Core Data使用之一(Swift): 保存

Core Data 用于永久化数据,它是基于SQLite数据库的保存一门技术. 那么,在Swift中,它是如何实现的呢? 首先,需要新建一个模板,打开工程中的xcdatamodeld文件,点击“Add Entity” ,这时候,就创建的一个模板.之后,可以修改模板的名称为自己想要的名称.然后,在Attributes里面,点击“+”,添加字段并修改类型. 然后,在代码里面 “import CoreData”.接着,用NSManagedObject来保存对象,它可以转换成任何对象.它的类型是字典.

CoreData学习:Core Data Stack(Swift)

Core Data是苹果官方提供的一套框架,用来解决对象生命周期管理.对象关系图管理和持久化等方面相关的问题.Core Data是模型层的技术,Core Data帮助你构建代表程序状态的模型层.Core Data也是一种持久化技术,它可以将模型的状态持久化到磁盘.但它更重要的特点是:Core Data不只是一个加载和保存数据的框架,它也能处理内存中的数据. 什么是Core Data? 对于Core Data框架将经常困惑,以为是数据库.其实Core Data并不是数据库.如果它不是数据库,那么C

Swift中使用Core Data (一)

CoreData是Mac.iPhone应用里标准的数据存储方法.所以,我们很有必要学习这个技术.那么我们要创建什么呢?首先是一个table view来处理数据,添加.删除.编辑,还有查找和排序.这些数据会被一直保存,即使是设备重启了都会存在.因为,这些数据时放在sqlite里的. 苹果的官方是这么描述Core Data的,“Core Data库是一个高层的自动的管理对象生命周期和持久话的解决方案”. 下面,我们就一步一步的开始.首先创建一个Xcode6的项目,选择single-view-temp

Swift - 使用Core Data进行数据持久化存储

一,Core Data介绍 1,Core Data是iOS5之后才出现的一个数据持久化存储框架,它提供了对象-关系映射(ORM)的功能,即能够将对象转化成数据,也能够将保存在数据库中的数据还原成对象. 2,虽然其底层也是由类似于SQL的技术来实现,但我们不需要编写任何SQL语句,有点像Java开发中的Hibernate持久化框架 3,Core Data数据最终的存储类型可以是:SQLite数据库,XML,二进制,内存里,或自定义数据类型. 4,与SQLite区别:只能取出整个实体记录,然后分解,

Core Data demo介绍

镔哥最近一直在研究Core Data 因为本人感觉一直对它有点小惧怕,因为没有用过,但是因为最近项目我考虑用CoreData做为项目的增删改查数据库:所以未来几篇的文章都应该是讲解我对CoreDAta的学习. 介绍一下: 1:记住Core Data是一个功能强大的层,位于SQLite数据库之上,它避免了SQL的复杂性,能让我们以更自然的方式与数据库进行交互.A: Core Data将数据库行转换为OC对象(托管对象)来实现,这样无需任何SQL知识就能操作他们. B: Core Data位于MVC

Core Data存储自定义类型数据

目录: 一.使用CoreData存储基本数据 二.使用CoreData存储自定义类型数据 简单介绍CoreData CoreData是iOS编程中使用持久化数据存储的一种方式,我们知道CoreData并不是数据库本身,而是Apple提供的对象持久化技术--Object Persistent technology.CoreData框架为我们的数据变更.管理.对象存储.读取和恢复提供了支持.下面我们来尝试创建一个简单的CoreData Project. 操作 1. 打开x-code,为你的proje

Core Data 教学

看了一篇国外的文章,关于iOS9的Core Data教学,在这里做了一下总结 Core Data 教学 示例开源地址:LastDayCoreData 在这篇文章中我们将学习Core Data的系列教程,你将使用Swift2.0写你的Core Data.你将发现在Xcode中它是很容易上手的,从启动代码导师数据模型编辑器.在教程结束后,你会了解到: 使用Xcode的model editor将你想存储在Core Data. 添加新的记录到 Core Data 从Core Data中读取一组数据 在表