在 iCloud 上下载保存的数据

Posted

技术标签:

【中文标题】在 iCloud 上下载保存的数据【英文标题】:Downloading Saved Data on the iCloud 【发布时间】:2014-01-07 06:21:29 【问题描述】:

我是从 iCloud 同步数据的新手,所以我一直在使用不同的教程来了解如何将我的 Core Data 数据库上传到 iCloud。为此,我使用了 GitHub 源代码 (https://github.com/mluisbrown/iCloudCoreDataStack)。根据 Xcode 5 上的调试菜单,我正在将数据上传到 iCloud,然后显示它正在下载,但是我没有看到任何数据返回,我认为这是因为我在 -(void)storesDidChange:(NSNotification *)note 方法中没有实现任何内容。我不知道如何将这些数据付诸实践。如果您需要我的任何东西,请告诉我,我很乐意为您提供!谢谢!

【问题讨论】:

看看这个链接,有一个视频和示例代码展示了如何使用 iCloud 进行同步。我使用 UIManagedDocument,因此设置核心数据堆栈有点不同,但处理日志导入通知将是相同的。查看 Document Manager 代码,了解如何处理这些通知。 ossh.com.au/design-and-technology/software-development/… 【参考方案1】:

这是一个标准的 Core Data iCloud 问题,不受您使用的代码的影响。

当它返回时,您需要使用该通知。您可以使用方法-[NSManagedObjectContext mergeChangesFromContextDidSaveNotification:] 对您的主要NSManagedObjectContext 执行此操作。这将导致您的 NSManagedObjectContext 触发您拥有的任何 NSFetchedResultsController 实例。

【讨论】:

【参考方案2】:

我也在使用 PersistanceStack。在storesDidChange:,我只是简单的向通知中心发布一个通知。这被显示任何相关数据的任何活动视图控制器捕获。

在视图控制器中,我只需更新接口,例如通过在获取的结果控制器上执行获取和/或重新加载表视图。

【讨论】:

你能给我一个你在做什么的例子吗?这将非常有帮助,我很抱歉我对 CoreData 和 iCloud 很陌生 真的没什么。只需学习如何发布和收听通知。查看NSNotificationCenter的文档。

以上是关于在 iCloud 上下载保存的数据的主要内容,如果未能解决你的问题,请参考以下文章

从 iCloud 文件中取消归档对象时出错

iOS、Core Data 和 iCloud - 切换上下文

iCloud 中保存的意外数据

使用 GameKit 将数据保存到不同帐户的 iCloud

核心数据 - 通过 iCloud 保存和共享图像

iPhone:不需要icloud备份时将用户数据保存在哪里