我正在用Spritekit开发一个游戏,现在我必须跟踪用户的高分。有各种不同的存储方法,其中最简单的一种是NSUserDefaults,但建议使用首选项。
但是,我发现了这个Keychain包装器,它倾向于将字符串与键一起保存:
https://github.com/jrendel/SwiftKeychainWrapper
你觉得用它好吗?我的想法是在保存之前将分数(Integer)转换为字符串,在检索最高分数时,我会将其从字符串转换回Int。你觉得这是个好主意吗?
发布于 2015-02-09 18:09:42
我所看到的密钥链的主要优点是,当应用程序被删除时,条目仍然存在,并且不容易被更改。UserDefaults将绑定到您的应用程序Id并在删除应用程序时丢失:除非您使用的是全局域。
您可以考虑使用CloudKit键/值存储来实现跨设备的高分,将数据存储在云中。这将是更多的工作,您将需要添加冲突解决方案。
根据你对高分的重视程度,你也许应该考虑与游戏中心集成?如果你想在多个设备上保持高分等,这是理想的选择。
https://stackoverflow.com/questions/28406352
复制相似问题