我正在尝试为iCloud支持我的CoreData App选择最佳方法。
我认为一个好的策略是创建一个SingleTon类来处理所有CoreData和iCloud的东西,并将ManagedObjectContext传递给App。
此类应处理用户更改其iCloud帐户或禁用iCloud的情况。为此,我需要使用多个NSPesistentStores,一个用于iCloud,一个用于iCloud不可用,并在需要时在之间迁移数据。正确?
我的主要问题是,使用UIManagedDocument类或传统的CoreData Stack来创建单例类的优缺点是什么?处理App的CoreData / iCloud基本逻辑?
来自WWDC 2012的代码示例也适用于CoreData普通堆栈的UIManagedDocument吗?
答案 0 :(得分:3)
在您的应用程序中使用更合适的选项......这几乎取决于您。但一般来说,UIManagedDocument
对于以文档为中心的应用程序(如Apple的iWork应用程序)更有效,并且使用Core Data堆栈可以更好地适用于不是的应用程序。
来自WWDC 2012会话227的示例代码更符合您的单身人士想法 - 如果您使用UIManagedDocument
,我不确定它会有所帮助,因为该类管理自己的核心数据堆栈。