【问题标题】:What is the technical difference between core-data and SQLite and usage?core-data 和 SQLite 和用法之间的技术区别是什么?
【发布时间】:2018-11-08 18:53:22
【问题描述】:

谁能解释一下它们之间的技术区别是什么。什么 我知道核心数据是 SQLite 的包装器,在内部它是 使用 SQLite。

如果核心数据内部使用 SQLite 那么核心数据如何更快 SQLite 以及为什么我们在大多数应用程序中都使用核心数据?

请结合相关例子进行说明。

【问题讨论】:

    标签: sqlite core-data


    【解决方案1】:

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

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

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

    【讨论】:

    • 坦率地说,我从来没有见过有人在没有几个紧急补丁版本和几个维护版本的情况下正确使用 SQLite。这包括 CoreData 团队本身。 :)。
    • 嗯,我也从未见过有人第一次正确实现CoreData,每个都有其复杂性。 CoreData 以线程一致性为中心,他们做了很多工作以使其更易于使用。
    • 这是作为使用NSKeyedArchiver 直接转到XML 的选项。我现在正在迁移到 NSCoder/XML/GZIP,我已经受够了 SQLite 和 CoreData。
    猜你喜欢
    • 1970-01-01
    • 2015-10-04
    • 2015-03-09
    • 1970-01-01
    • 2013-03-22
    • 2012-05-05
    • 2014-09-28
    • 1970-01-01
    • 2011-07-01
    相关资源
    最近更新 更多