普通核心数据 vs 核心数据 + 魔法记录

Plain Core Data vs Core Data + Magical Record

我正在计划一种方法来为 iOS (swift) 应用程序保留数据。通过阅读关于 iOS 的大量关于持久性的文章,Core Data 似乎是一种非常受支持的方式来做到这一点。一堆 libraries/tools 围绕它构建,一个流行的组合似乎是 MoGenerator + MagicalRecord + Core Data。

由于 MagicalRecord 提供了某种 Active Record 功能,似乎 "easy" 可能会不小心破坏某些东西。有人告诉我,用户可能必须重新安装他们的应用才能从此类故障中恢复。

那么问题来了:只使用普通的 Core Data 而不是 MoGenerator + MagicalRecord + Core Data 是否可行?还是这个级别太低了,以至于只能为大型团队使用原始核心数据? pros/cons 可以与普通 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 仍处于测试阶段,未来的重点是 3.0。如果您使用稳定版本并发现问题,它们将不会得到修复。 If/whenv3.0已经准备好了,反正界面可能完全不一样