Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
核心数据和SQLite之间的技术区别和用途是什么?_Sqlite_Core Data - Fatal编程技术网

核心数据和SQLite之间的技术区别和用途是什么?

核心数据和SQLite之间的技术区别和用途是什么?,sqlite,core-data,Sqlite,Core Data,有人能解释一下他们之间的技术区别吗。什么 我知道核心数据是SQLite上的一个包装器,在内部也是如此 使用SQLite 如果核心数据在内部使用SQLite,那么核心数据的速度如何 SQLite以及为什么我们在大多数应用程序中使用核心数据 请用相关示例进行解释。SQLite是一个数据库。它从根本上存储的数据组织为类似的数据表,这些数据被分解成单个数据项的行 CoreData是一个对象存储。它存储许多对象及其相互之间的连接的任意图形。它使用SQLite是其实际功能的辅助功能,它可以(并且确实)轻松地

有人能解释一下他们之间的技术区别吗。什么 我知道核心数据是SQLite上的一个包装器,在内部也是如此 使用SQLite

如果核心数据在内部使用SQLite,那么核心数据的速度如何 SQLite以及为什么我们在大多数应用程序中使用核心数据


请用相关示例进行解释。

SQLite是一个数据库。它从根本上存储的数据组织为类似的数据表,这些数据被分解成单个数据项的行

CoreData是一个对象存储。它存储许多对象及其相互之间的连接的任意图形。它使用SQLite是其实际功能的辅助功能,它可以(并且确实)轻松地将该图形存储在XML文件、属性列表文件或其他任意数据格式中


至于为什么要使用CoreData而不是SQLite,主要是简单。使用SQLite,您必须处理从表中读取行和重建单个有用对象的问题。有了CoreData,您就可以透明地处理这些问题,还有许多其他问题,如线程间同步和迁移(从一个版本到另一个版本的更改)。

坦率地说,如果没有几个紧急补丁版本和几个维护版本,我从未见过有人正确使用SQLite。这包括CoreData团队本身。呃,我也从来没有见过有人第一次正确地实现
CoreData
,每个都有其复杂性。使用
CoreData
时,它以线程一致性为中心,他们已经做了大量工作,使这方面的内容更易于使用。通过使用
NSKeyedArchiver
可以直接转到XML。现在我要转到NSCoder/XML/GZIP,我已经对SQLite和CoreData有了足够的了解。