CoreData小记

iOS应用数据存取的常用方式

XML属性列表 —— Plist

NSKeyedArchiver 归档

Preference(偏好设置)

SQLite3

Core Data

Core Data 是iOS SDK 里的一个很强大的框架,允许程序员以面向对象的方式储存和管理数据。使用Core Data框架,程序员可以很轻松有效地通过面向对象的接口管理数据。

Core Data框架提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite3数据库文件中,也能够将保存在数据库中的数据还原成OC对象。

在数据操作过程中,无需编写任何SQL语句

要使用Core Data,需要导入CoreData框架

Core Data开发步骤

1. 建立数据模型文件

2. 在数据文件中建立实体(s)并且建立实体之间的关系

3. 新建NSManagedObject对象,根据实体的定义,生成模型类

4. 如果实体文件发生变化,需要重新生成NSManagedObject类,因此对应生成类的文件不需要我们进行任何的修改

注:

NSManagedObject——对应数据库中的一条记录

CoreData小记_第1张图片

Core Data主要对象

NSManagedObjectContext:负责应用和数据库之间的交互(CRUD)

NSPersistentStoreCoordinator:添加持久化存储库(如SQLite数据库),是物理数据存储的物理文件和程序之间的联系的桥梁,负责管理不同对象上下文

NSManagedObjectModel:被管理的对象模型,对应定义的模型文件

NSEntityDescription:实体描述

打开数据库

实例代码:

CoreData小记_第2张图片
CoreData小记_第3张图片
CoreData小记_第4张图片
几大步骤

#pragma mark -数据库操作方法

增删查找

CoreData小记_第5张图片
CoreData小记_第6张图片
CoreData小记_第7张图片
CoreData小记_第8张图片
CoreData小记_第9张图片

无论是:新增、修改还是删除操作,

都是一次性保存所有的新增记录

更新&删除记录

1、找到要更新、删除的记录

2、更新:修改对象属性

3、删除:上下文删除对象

4、上下文保存


CoreData:中多线程中处理大量数据同步时的操作

CoreData:是CoCoa中处理数据绑定数据的关键特性,提供完整的对象持久化存储方案。如果你使用sqlite3厌倦了敲打sql语句,CoreData正解决了你这烦恼。sqlite3是CoreData处理的数据类型之一,当你将CoreData和sqlite的结合起来使用的话,你将能开发出强大的数据库应用。

CoreData与多线程操作:

为了在查询数据的时候不让界面停滞,使用多线程是不可避免,一般我们会用thread,串行线程或者并发线程。coredata与多线程交互的时候,每个线程都必须拥有一个manager context对象,一般有两种方式:

1.每一个线程使用私有的manager context,共享一个 persistent store coordinator

2.每个线程使用私有的manager context和私有的persistent store coordinator

对于这两种方式,我们比较推荐使用第一钟方式,因为使用第二种方式的会消耗我们更多的内存,所以推荐使用第一种。注意:CoreData里面还带有一个通知NSManagedObjectContextDidSaveNotification,主要监NSManagedObjectContext的数据是否改变,并合并数据改变到相应context

http://www.jianshu.com/p/682de90106b5

你可能感兴趣的:(CoreData小记)