现在的位置: 首页 > 综合 > 正文

CoreData 简单总结

2018年04月14日 ⁄ 综合 ⁄ 共 910字 ⁄ 字号 评论关闭

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(重新执行)操作。

【上篇】
【下篇】

抱歉!评论已关闭.