iCloud 用于保存相当频繁的游戏状态更改

Posted

技术标签:

【中文标题】iCloud 用于保存相当频繁的游戏状态更改【英文标题】:iCloud for saving fairly frequent game state changes 【发布时间】:2012-11-26 09:52:29 【问题描述】:

我想在我的应用程序中实现 iCloud:这是一个简短的游戏。一轮需要 3-5 分钟,然后你会得到经验值、硬币或其他任何东西。它实际上只有 5 个键值对,并且仅在每一轮后更新。除了同步问题,apples documentation 表示:

键值存储旨在存储更改的数据 不经常。如果设备上的应用程序对键值存储进行频繁更改,系统可能会延迟某些更改的同步,以尽量减少与服务器的往返次数。应用进行更改的频率越高,以后的更改就越有可能被推迟并且不会立即显示在其他设备上。

考虑到我的数据的简单性和大小,我仍然会选择键值存储,但在我读完这篇文章后我不太确定。 Apple suggests 用于复杂应用状态的文档存储和用于简单应用状态的键值存储。 所以我的问题是:

当数据变化如此频繁时,即使我的数据如此简单,使用文档存储是否更好?

【问题讨论】:

仅供参考,我现在使用了文档存储,因为它没有缺点,只是实现起来稍微复杂一些。如果同步功能应该更好(我不认为它们更糟),我有这方面的优势。 【参考方案1】:

键值一团糟。它不会与 icloud 快速同步,同步是由操作系统控制的。太令人沮丧了。 使用文档/核心数据

【讨论】:

以上是关于iCloud 用于保存相当频繁的游戏状态更改的主要内容,如果未能解决你的问题,请参考以下文章

在进入后台时将 UIDocument 上传到 iCloud

在 iCloud 上保存数据

CoreData (+ iCloud) 产生无效的模型状态

更改 iOS 模拟器 iCloud 帐户

在 iPhone 应用程序中保存状态的位置

设计模式---状态变化模式之备忘录模式(Memento)