在iOS中保存和加载设置和游戏进度

时间:2011-01-20 00:03:32

标签: iphone objective-c ios settings cocos2d-iphone

我正在编写iPhone游戏,我想保存/加载用户设置(例如音乐响度),我也想存储游戏进度。

对于每个级别,我想要一些表示状态的结构对象 - 它是打开的,是否通过,是时间等等。

我正在使用cocos2d。

我发现我可以使用NSUserDefaults类来存储游戏设置,但我不确定用它来存储游戏进度是好的。

欢迎任何帮助!

2 个答案:

答案 0 :(得分:3)

使用NSUserDefaults。但是使用它们来序列化整个对象并加载它们。

覆盖encodeWithCoder:和initWithCoder:用于要存储其状态的对象类。通过这种方式,您可以直接将整个对象存储/序列化到磁盘并再次构建它们。

此外,您无需触及现有方法,只需为每个需要存储的类添加额外的方法。

答案 1 :(得分:1)

NSUserDefaults适用于存储简单设置,但对于完整游戏状态,您可能希望使用Core Data之类的内容。