美文网首页
CoreData小记

CoreData小记

作者: 三岁就很乖 | 来源:发表于2016-05-09 15:35 被阅读85次

    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——对应数据库中的一条记录

    Core Data主要对象

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

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

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

    NSEntityDescription:实体描述

    打开数据库

    实例代码:

    几大步骤

    #pragma mark -数据库操作方法

    增删查找

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

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

    更新&删除记录

    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小记

          本文链接:https://www.haomeiwen.com/subject/bvhfrttx.html