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