使用键值将字典发送到 iCloud
Posted
技术标签:
【中文标题】使用键值将字典发送到 iCloud【英文标题】:Send Dictionary to iCloud using Key-value 【发布时间】:2014-09-29 13:13:33 【问题描述】:我正在使用此代码将字典写入 iCloud。
[[NSUbiquitousKeyValueStore defaultStore]
setDictionary:dictCloudTables forKey:@"Tables"];
[[NSUbiquitousKeyValueStore defaultStore] synchronize];
我正在使用此代码从云端获取字典:
dictCloudTables = [[[NSUbiquitousKeyValueStore defaultStore]
dictionaryForKey:@"Tables"] mutableCopy];
它总是给我我第一次插入的字典。
我的代码有什么问题吗?
【问题讨论】:
【参考方案1】:我看不出代码有任何明显错误(除非您不检查synchronise
的返回值)。我认为可能有问题的是您对应该发生的事情的期望。这是文档的摘录:
此方法不会强制写入新的键和值 iCloud。相反,它让 iCloud 知道新的键和值是 可以上传。不要依赖你的键和值 立即在其他设备上可用。
【讨论】:
在其他设备上更新通常需要多长时间,假设它们有正常的互联网。 其实没那么简单。它们似乎合并更新,这意味着如果您在短时间内发送大量更新,则可能需要更长的时间才能在其他机器上看到它们(因为它会等待进一步的更新)。另一方面,只有一个独立的更新几乎可以立即同步。简而言之,如果您需要已知延迟,iCloud 不是解决方案;你需要自己实现。以上是关于使用键值将字典发送到 iCloud的主要内容,如果未能解决你的问题,请参考以下文章
简单地将图像发送到 icloud 时出现“无法完成操作。不允许操作”错误
如何使用 Cloudkit 将字典(或任何其他复杂结构)保存到 iCloud 中?