CoreData 简单总结

CoreData分为五个模块分别是NSManageObjectModel、NSManageObject、NSManageObjectContext、NSPersistenStoreCoordinator和Controller。NSManageObjectModel是描述程序的数据模型,这个模型包含实体(Entity)、特性(property)和读取请求(FetchRequest);而NSManageObject称为数据对象,与数据模型相关联;NSManageObjectContext是数据对象上下文,参与操作数据对象的全过程,监听数据对象变化,提供对undo/redo的支持和更新绑定数据对象的UI;NSPersistenStoreCoordinator主要是参与底层数据的读取和写入,做数据持久化操作,我们一般不直接与它打交道,一般是通过NSManageObjectContext来操作它,数据持久化有四种方式分别是数据库sqlite、XML、二进制文件和内存存储,它也可以说是一个协调者,协调了数据库和数据模型,从而使我们只需要在模型层进行操作,就可以进行对数据库的增、删、改、查。

CoreData一些简单功能:可以对数据进行插入、查找、删除和更改,还可以对数据库进行redo和undo操作,在多线程访问情况下,可以加锁lock和解锁unlock从而实现安全操作数据。

CoreData的机制:首先,程序读取模型文件(后缀为xcdatamodeld)创建模型对象NSManageObjectMOdel(数据模型对象);随后根据数据模型对象生成NSPersistentStoreCoordinator对象,并为它添加一个读取文件的路径和设置数据存储格式(数据库sqlite、XML、二进制文件等),NSPesistentStoreCoordinator主要是对数据文件进行读取和写入,协调数据文件和数据模型对象;然后再创建NSManageObjectContext(数据对象上下文),它是我们最常用的对象,主要参与操作数据的全过程,监测数据对象的变化,提供对数据的undo(撤销、回滚)和redo(重新执行)操作。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值