我正在计划一种为iOS(swift)应用程序保留数据的方法。通过阅读一堆关于iOS上的持久性的文章,似乎Core Data是一种非常受支持的方式。围绕它构建了一堆库/工具,一个流行的组合似乎是MoGenerator + MagicalRecord + Core Data。
由于MagicalRecord提供了某种Active Record功能,它似乎可以很容易"不小心弄坏了东西。我被告知可能会发生这样的情况:用户必须重新安装他们的应用才能从此类故障中恢复过来。
所以问题:使用普通的核心数据而不是MoGenerator + MagicalRecord +核心数据是否可行?或者这是如此低级别,它只会使大型团队使用原始核心数据?可以将优点/缺点与普通SQL与ORM进行比较吗?
答案 0 :(得分:13)
我强烈建议您不要使用MR或Mogenerator,直到您对Core Data有足够的了解才能知道使用它们的原因。
如果你不明白它在幕后做了什么,那么魔法记录真的看起来很神奇。并且在没有很好地理解基本框架的情况下使用核心数据就是邀请您永远不会深究的问题。无论您使用什么工具,都需要了解Core Data陷阱。 与MR相比,CD并不是真正的低级别:但是更冗长(MR为您节省了大量的样板)。不过,我建议花一点时间和Tim Roadley的 iOS学习核心数据这样的好书。当您完成这项工作后,您可能会发现 - 正如codeFi建议的那样 - 您已经为自己构建了一个足够的核心数据引擎,因此无需添加魔法记录。争取MR的另一个问题是稳定版本2.2已经有两年了。 V2.3仍然处于测试阶段,前进的重点是3.0。如果您使用稳定版本,并发现它的问题,它们将无法修复。如果/当v3.0准备就绪时,界面可能完全不同。