【问题标题】:Core Data complications核心数据并发症
【发布时间】:2011-08-01 00:16:52
【问题描述】:

我正在重构旧应用程序,并正在考虑切换到核心数据。 与直接使用 sqlite 或包装器相比,我已经在这里和网上阅读了以前的帖子,了解其优缺点。 使用 sqlite 包装器似乎仍然更直接,因为在我看来,偏离标准使用要么很困难,要么我找不到有效的方法来做到这一点。 例如,拥有不保存在 DB 中的对象。想象一个商店,您可以在其中下载产品列表,如果有人想要产品,他应该将其保存在本地。 我阅读了大约 2 种方法,一种具有单独的托管上下文并将一种与临时对象分开,还阅读了有关复制模型的信息 但在我看来,它们更像是直接使用 sqlite 时自然而然出现的东西的 hack。在更复杂的查询中,我也感到有限(可能是因为我对核心数据缺乏经验)。 我知道我不是很具体,但我正在寻找建议,当已经有一个 sqlite 实现时,我是否真的可以从迁移到核心数据的距离中受益。坦率地说,仅临时对象问题就阻止了我切换,但又可能是我的缺乏知识。

【问题讨论】:

    标签: objective-c sqlite core-data


    【解决方案1】:

    如果您觉得 Core Data 不适合您的应用程序,或者如果您对它不满意,或者如果您对它更满意, 没有任何问题别的东西。所以如果直接使用 SQLite 对你来说很有意义,那就去吧。

    也就是说,如果您将 Core Data 视为 SQLite 的替代品,那么您将遇到麻烦。当你使用 SQLite 时,你处理的是表和行;当你使用 Core Data 时,你处理的是对象和关系。 Core Data 框架将这些对象和关系映射到 SQLite 的表(或其他一些持久性存储)上,因此,如果您将对象转换回您脑海中的表,那么您有点错过了重点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-25
      • 2016-04-10
      相关资源
      最近更新 更多