码迷,mamicode.com
首页 > 移动开发 > 详细

iOS CoreData

时间:2017-06-23 12:50:37      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:功能   代码   持久化   persist   并且   stack   model   ack   内存   

CoreData是iOS5后,苹果提供的原生的用于对象化管理数据并且持久化的框架(ORM)

CoreData本质上是将底层数据库封装成对象进行管理。但数据库实际上只是CoreData的一个功能,并不是全部功能。

在iOS开发中,除了可以使用CoreData进行数据管理,还可以使用SQLite进行内存管理

并且有封装好SQLite代码的OC框架FMDB给我们使用。具体看我上篇文章。SQLite重要框架FMDB的使用.但对比SQLite,CoreData有下面几个优势

第一是CoreData作为苹果提供的原生框架,在内存方法比SQLite有性能上的优势

第二是CoreData操作数据不需要使用SQLite代码,使用方便

第三是CoreData把数据用面向对象方式进行管理,操作数据库更方便。
CoreData的核心是Core Data stack(技术栈堆)。CoreData就是依靠Core Data stack中的几个对象进行数据操作的

这几对象是:
NSManagedObjectContext ,管理对象的上下文: 负责管理模型对象的一个集合,
NSManagedObjectModel 被管理的对象模型
NSPersistentStoreCoordinator 存储调度器: 负责将数据保存到磁盘
NSPersistentStore用于保存模型数据,受NSPersistentStoreCoordinator 存储调度器的操控
这三个对象的关系如下面图片所示,苹果官方给出了这几个对向关系的图解。简单理解起来就是最上面的NSManagedObjectContext负责管理对象模型。然后将管理的对象模型发送给NSPersistentStoreCoordinator 存储调度器,存储调度器通过NSPersistentStore操作SQLite语句,将数据持久化到本地,保存到StoryFile中。

iOS CoreData

标签:功能   代码   持久化   persist   并且   stack   model   ack   内存   

原文地址:http://www.cnblogs.com/1018475062qq/p/7069133.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!