收到NSUserDefault时崩溃(保存数据)

时间:2011-02-27 23:45:01

标签: ios cocos2d-iphone crash save nsuserdefaults

我正试图为iPhone游戏保存一些内容,但我却陷入困境。

我正在保存数据;

[[NSUserDefaults standardUserDefaults] setInteger:careerScore forKey:@"career_score"];
    //Tells the userDefaults to update the data base.
    [[NSUserDefaults standardUserDefaults] synchronize];

调用正确的方法时。

我遇到的问题是在首次打开游戏时加载变量。目前我有;

int careerScore = [[NSUserDefaults standardUserDefaults] IntegerForKey:@"career_score"];

问题似乎是它无法在游戏第一次加载时访问此NSUserDefault(因为它在调用正确的方法之前不存在),然后导致崩溃。

如果它存在的话,我是怎么想从那里获取整数的,但是如果它不存在则忽略它?或者是否有更简单/更好的方法来保存数据?我正在使用cocos2d。

2 个答案:

答案 0 :(得分:1)

使用registerDefaults:实例的NSUserDefaults方法指定所有设置的默认值。

答案 1 :(得分:0)

对于integerForKey,小“i” 30 char。