我正在编写iPhone游戏,我想保存/加载用户设置(例如音乐响度),我也想存储游戏进度。
对于每个级别,我想要一些表示状态的结构对象 - 它是打开的,是否通过,是时间等等。
我正在使用cocos2d。
我发现我可以使用NSUserDefaults类来存储游戏设置,但我不确定用它来存储游戏进度是好的。
欢迎任何帮助!
答案 0 :(得分:3)
使用NSUserDefaults。但是使用它们来序列化整个对象并加载它们。
覆盖encodeWithCoder:和initWithCoder:用于要存储其状态的对象类。通过这种方式,您可以直接将整个对象存储/序列化到磁盘并再次构建它们。
此外,您无需触及现有方法,只需为每个需要存储的类添加额外的方法。
答案 1 :(得分:1)
NSUserDefaults适用于存储简单设置,但对于完整游戏状态,您可能希望使用Core Data之类的内容。