核心数据会是一个不错的选择吗?

Posted

技术标签:

【中文标题】核心数据会是一个不错的选择吗?【英文标题】:Would core data be a good choice? 【发布时间】:2012-07-22 20:47:59 【问题描述】:

我正在尝试编写一个应用程序来访问和更改用户日历中的条目。这些变化是由相当复杂的规则驱动的,用户可以定义这些规则。

在我花太多时间开发之前,我的问题是我是否应该使用核心数据。很多模型将由核心数据处理,但我需要访问大量存储的信息然后更改它。这会是核心数据的问题吗?

如果我对核心数据有更好的理解会有所帮助,但在这一点上我没有:(有人可以评论在使用核心数据时对模型数据执行更改的可能性吗?我不想成为经过几个月的开发,发现我做出了错误的选择!

【问题讨论】:

【参考方案1】:

最近发布的WWDC media collection 包含 2005 年的音频演示,当时 Core Data 框架作为 OS X 框架的一部分发布。该演示文稿涵盖了 Core Data 的主要目标、设计原则和架构。它还讨论了一组示例应用程序(recipy 应用程序)。该系列可通过 iTunesU 获得。值得一听掌握框架的工作原理。

我使用 Core Data 已经有一段时间了。我发现它易于使用,很好地集成到 Xcode 中,稳定并且到目前为止一直是我工作效率的真正贡献者。它为您的数据提供了各种存储选项(二进制、XML - 在开发过程中非常容易使用 - 和 SQLite),非常好的工具支持,对于小更改的简单模型迁移,对于主要模型更改的复杂迁移,需要一些额外的努力。

您必须了解 Core Data 既不是 RDBMS 也不是 RDBMS 映射工具这一事实。它是一个对象图和持久性框架,这是另一回事。如果您忽略这一事实,Core Data 可能会给您带来性能损失。

【讨论】:

非常感谢@Roger 的链接!我会听演讲。我还将继续阅读 Core Data 的 ADC 文档。【参考方案2】:

使用 CoreData 进行架构更改并不比使用大多数其他数据框架更难。 CoreData 可以处理对您的数据模型on its own 的许多简单更改。当它找不到正确的事情时,you can write custom migrations。

根据我的经验,CoreData 通常使数据密集型应用程序更易于编写和维护,但在灵活性上的损失非常小,这是您通常不会错过的。

【讨论】:

你有没有指出我可能放松的那种灵活性?我必须说,总的来说,你的回答和@roger 的回答让 CD 看起来对我来说是一个不错的选择。

以上是关于核心数据会是一个不错的选择吗?的主要内容,如果未能解决你的问题,请参考以下文章

想从单体架构演进到分布式架构,SBA 会是一个不错的选择

想从单体架构演进到分布式架构,SBA 会是一个不错的选择

科技云报道:“Sky Computing”会是云计算未来的新方向吗?

iPhone 核心数据驱动搜索:如何,资源?

在 Shiny 中,数据框可以用作 selectizeInput 中的选择吗?

我应该如何存储核心数据“选定”项目?