核心数据堆栈与iCloud应用程序上的UIManagedDocument

时间:2012-07-17 21:01:43

标签: ios core-data singleton icloud uimanageddocument

我正在尝试为iCloud支持我的CoreData App选择最佳方法。

我认为一个好的策略是创建一个SingleTon类来处理所有CoreData和iCloud的东西,并将ManagedObjectContext传递给App。

此类应处理用户更改其iCloud帐户或禁用iCloud的情况。为此,我需要使用多个NSPesistentStores,一个用于iCloud,一个用于iCloud不可用,并在需要时在之间迁移数据。正确?

我的主要问题是,使用UIManagedDocument类或传统的CoreData Stack来创建单例类的优缺点是什么?处理App的CoreData / iCloud基本逻辑?

来自WWDC 2012的代码示例也适用于CoreData普通堆栈的UIManagedDocument吗?

1 个答案:

答案 0 :(得分:3)

在您的应用程序中使用更合适的选项......这几乎取决于您。但一般来说,UIManagedDocument对于以文档为中心的应用程序(如Apple的iWork应用程序)更有效,并且使用Core Data堆栈可以更好地适用于不是的应用程序。

来自WWDC 2012会话227的示例代码更符合您的单身人士想法 - 如果您使用UIManagedDocument,我不确定它会有所帮助,因为该类管理自己的核心数据堆栈。