我也来聊聊CoreData

iOS中的持久化方式一般有四种:

  1. 属性列表
  2. 对象序列化
  3. SQLite数据库
  4. CoreData

今天我们来重点说说CoreData 方式:

定义

CoreData是iOS5之后才出现的一个框架, 它提供了对象-关系映射(ORM)的功能,即 能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象. 在此数据操作期间,我们不需要编写任何SQL语句.

模型文件

在CoreData中,需要进行映射的对像成为实体(entity), 而且需要使用Core Data模型文件来描述app中的所有实体和实体属性

特征

  • 通过CoreData管理应用程序的数据模型,可以极大程度减少需编写的代码数
  • 将对象数据存储在SQLite数据库已获得性能优化.
  • 提供NSFetchResultsController类用于管理表视图的数据.
  • 管理undo (备份,以便回滚,撤回)/redo (恢复已提交的事务)操作
  • 检查托管对象的属性值是否正常

对象成员

  1. NSManagerObject
    被管理的数据纪录NSObjectModel是描述应用程序的数据模型,这个模型包含实体(Entity), 特性(Property),读取请求(FetchRequest)等
  2. NSManagerObjectContext
    管理对象上下文, 持久性存储模型对象,参与对数据对象进行各种操作的全过程,并检测数据的变化, 负责应用和数据库之间的交互
  3. NSPersistentStoreCoordinator
    相当于数据库文件管理器,处理底层的对数据源文件的读取与写入.
  4. NSManagedObjectModel
    被管理的数据模型,数据结构
  5. NSFetchRequest
    数据请求
  6. NSEntityDescription
    表格实体结构,
    注: .xcdatamodel文件编译后为 .momd 或者 .mom文件

开发步骤

1.初始化NSManagedObjectModel对象,加载模型文件,读取app中的所有实体信息
2.初始化NSPersistentStoreCoordinator对象,添加持久化库(这里采取SQLite数据库)
3.初始化NSManagedObjectContext对象,拿到这个上下文对象操作实体,进行CRUD操作

未完待续…..

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值