我正在尝试编写一个能够访问和更改用户日历中条目的应用程序。这些变化是由相当复杂的规则驱动的,用户可以定义。
在我花费太多时间开发之前,我的问题是我是否应该使用核心数据。很多模型将由核心数据处理,但我需要访问大量存储的信息然后进行更改。这会是核心数据的问题吗?
如果我对核心数据有了更好的理解会有所帮助,但此时我不会:(有人评论在使用核心数据时对模型数据进行更改的可能性吗?我讨厌成为进入开发的几个月,发现我做出了错误的选择!
答案 0 :(得分:1)
使用CoreData进行架构更改并不比大多数其他数据框架更难。 CoreData可以处理对数据模型on its own的许多简单更改。当它无法找到正确的事情时,you can write custom migrations。
根据我的经验,CoreData通常会使数据密集型应用程序更易于编写和维护,并且您通常不会错过灵活性的轻微损失。
答案 1 :(得分:1)
最近发布的WWDC media collection包含了2005年核心数据框架作为OS X框架的一部分发布时的音频演示。该演示文稿涵盖了Core Data的主要目标,设计原则和架构。它还讨论了一组示例应用程序(收件人应用程序)。该系列可通过iTunesU获得。听取框架的工作原则是值得的。
我一直在使用Core Data一段时间了。我觉得它很容易使用,很好地集成到Xcode中,稳定并且到目前为止一直是我工作效率的真正贡献者。它为您的数据提供了各种存储选项(二进制,XML - 在开发期间非常容易使用 - 和SQLite),非常好的工具支持,轻松的模型迁移以及小型更改,复杂的迁移可用于主要模型更改而需要额外的努力。 / p>
您必须意识到Core Data不是RDBMS也不是RDBMS映射工具。它是一个对象图和持久性框架,这是一个不同的东西。如果您忽略这一事实,Core Data可能会给您带来性能损失。