【问题标题】:Core Data Combined with FMDB on iOSiOS 上 Core Data 结合 FMDB
【发布时间】:2013-06-15 17:24:48
【问题描述】:

我喜欢 Core Data,并且喜欢它使简单的数据库事务变得如此简单。但我也有几个复杂的查询需要做,我担心 Core Data 不会让这些查询的运行变得容易。

以下是我需要执行的查询类型的几个示例(这些在 MySQL 中,但如有必要,我稍后会针对 SQLite 进行调整):

http://d.pr/n/h0mD

http://d.pr/n/ZVVx

所以这是我的问题:

  1. Core Data 及其 NSPredicates 是否允许我做所有这些事情? (日期约束、if/else 条件、连接、分组依据等)
  2. 如果这不可能(或通过合理的努力就可以做到),我可以使用 FMDB 之类的东西 Core Data 一起使用吗? (是的,我知道我必须小心)

期待您的见解。谢谢!

【问题讨论】:

    标签: ios core-data fmdb


    【解决方案1】:

    您不应将 FMDB 与 Core 数据一起使用。从技术上讲,你可以。但是您的应用程序可能会在某个时候中断。 Apple 不保证架构是可预测的。核心数据是一种抽象,底层的持久化存储与核心数据是断开的。他们甚至在 2013 年的 wwdc 视频中提到了这一点。您可以使用 NSPredicate、NSExpression 生成您尝试获取的查询。您还可以对内存进行一些检查(如果可能的话)。我会看看你的查询,看看我是否可以生成

    【讨论】:

    • 如果您能让我开始使用 NSPredicate 和 NSExpression 处理这些查询,我将不胜感激。然后我可以看到它们是如何工作的。谢谢!
    • 抱歉,有点忙。我现在就在上面。
    【解决方案2】:

    核心数据不是数据库。这是一个对象持久化模型。如果您像标准数据库一样使用它,那么使用 FMDB 可能会更好。

    Have a look here.

    我很难学到这一点。你不必。 =)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-03
      • 2012-04-14
      • 2012-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-30
      • 2012-09-29
      相关资源
      最近更新 更多