在swift 2中恢复消耗品(硬币)
Posted
技术标签:
【中文标题】在swift 2中恢复消耗品(硬币)【英文标题】:Restoring consumable products (coins) in swift 2 【发布时间】:2016-04-20 17:50:52 【问题描述】:我正在使用消耗性硬币进行一些测验。我使用 NSUserDefault 在设备上保存硬币及其工作。我也在 qiuz 中使用 CloudKit 处理数据。
如果用户切换设备,如何恢复硬币不麻烦?有一个带有钥匙串的部分解决方案,但它只适用于同一设备。
有没有办法通过我的数据通过 cloudkit 中的仪表板存储硬币?
提前致谢
【问题讨论】:
【参考方案1】:尝试在 iCloud 中使用键值存储。它的工作方式与 NSUserDefaults 几乎相同,因此您可以完全切换到“键值存储”而不是 NSUserDefaults。
"Designing for Key-Value Data in iCloud" by Apple
除了 NSUserDefaults 的“键值存储”之外,开发人员还可以保存简单的数据类型,但保存的数据可以在启用了 iCloud 的用户设备上使用。
第一步:在应用程序的功能设置中启用“键值存储”
第二步:在应用didFinishLaunchingWithOptions上:实现在NSNotificationCenter订阅NSUbiquitousKeyValueStoreDidChangeExternallyNotification通知。
第三步:向 NSUbiquitousKeyValueStore.defaultStore() 写入和读取数据,方式与使用 NSUserDefaults 相同。
考虑一种解决键值冲突的方法(如果用户同时使用两个或多个设备,或者其中一个设备没有互联网连接等)
此外,键值存储中保存的数据量、键的数量、键名称的长度也有限制...请查看上面指向 Apple 指南的链接。
【讨论】:
以上是关于在swift 2中恢复消耗品(硬币)的主要内容,如果未能解决你的问题,请参考以下文章