【发布时间】:2023-03-24 21:08:01
【问题描述】:
我们开始在 iPhone 企业开发者计划中开发一个内部应用程序。由于它接近于 OS 3.0,我们正在重新考虑使用 SQLite 和使用 Core Data 的原始设计。以下是更多信息:
- 有一个旧版桌面应用程序正在替换。我们将重用现有的后端。
- 我们目前生成了一个 SQLite 数据库作为概念证明。这基本上是现有后端数据库的精简版。
- 我们将从远程站点加载数据并将其存储在本地,它将持续存在并且需要。我们只会在它发生变化时更新它,这将是每两个月更新一次。我们很可能会使用 XML 或 JSON 来传输数据。
- 这个项目有两个开发人员,我们都有很强的 SQL 技能,但没有一个人使用过 Core Data。
我的问题是:Core Data 与 SQLite 相比有什么好处,在这个特定实例中会有什么好处,这些好处是否证明学习新框架而不是使用现有的强大 SQL 技能是合理的?
编辑: 我刚刚注意到这个问题:Core Data vs SQLite 3。因此,我想我的问题是:
- 如果我必须检查特定项目是否存在或是否有更新,这很容易使用 SQL,Core Data 是否仍然有意义?我可以在不加载整个图表的情况下加载图表中的第一个对象并检查版本号吗?
- 如果我们已经了解 SQL,那么 Core Data 在这个项目中的优势是否值得我们学习它?
【问题讨论】:
-
很好的答案,谢谢 - 我会将所有这些信息带入我们的下一次设计讨论中。
-
作为更新,我们使用了 Core Data;我真的很高兴我们做到了。仅凭故障能力就值得,但除此之外还有许多优点。我鼓励任何人,无论 SQL 技能水平如何,都选择 Core Data。学习曲线较浅,故障、唯一性、KVO/KVC、存储对象转换等好处很多。