Core Data 与 SQLite 的区别?

iOS 小白,今天到手一本书 objc 出的《Core Data》,查看译序,有些地方不明白。
书中说 Core Data 不是传统意义上的数据库,而是一套对象图管理系统。这套系统默认使用 SQLite 作为底层存储,通过由低向高地将相关的管理组件构建为一个栈,来提供缓存和对象管理机制。

我的问题:
1、对象图管理系统是什么? Object graph
2、能否举个例子说说 Core Data 这部分的好处?
3、由低向高地将相关的管理组件构建为一个栈又是什么意思?

Orz我还是自学吧..

参考:
Core Data 概述
【译】IOS 数据存储:Core Data vs SQLite
[Cocoa]深入浅出 Cocoa 之 Core Data(1)- 框架详解

阅读 5.7k
5 个回答

SQLite是一个轻量级数据库

就是传统的ORM的意思将表对象化操作不再使用sql来操作。orm可以将对象和表关联。

SQLite本身是一个C写的轻量级嵌入式数据库,什么系统都能用。Android和Windows也可以用
Core Data是OS X和iOS才有的一个系统数据组件,可以存储各类型数据的,它底层是基于SQLite的。但是上层进行了封装之类的,形成了一个软件栈,你存取数据调用Core Data API,而不是直接访问SQLite。

新手上路,请多包涵

coreData 内部使用了 sqilite
coreData api 和代码 难用程度 已经被吐槽很多次了
如果不得不用 推荐你用下 magicrecord 这个封装coredata 的框架
至于 sqplite ,很成熟的框架,很多老的app 都是用这个

新手上路,请多包涵
public static void main(){
echo "nihao";
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题