Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 什么是默认错误?_Iphone_Objective C_Ios_Nsuserdefaults - Fatal编程技术网

Iphone 什么是默认错误?

Iphone 什么是默认错误?,iphone,objective-c,ios,nsuserdefaults,Iphone,Objective C,Ios,Nsuserdefaults,我正在使用NSUserDefaults保存分数,但当我关闭应用程序(在多任务处理中)并重新打开时,NSUserDefaults不会保存分数。以下是NSUserDefaults中涉及的所有代码: 分数=[NSUserDefaults standardUserDefaults] [scores setInteger:currentHighScore-forKey:@“currentHighScore”] -(无效)检查高分{ int checkHighScore = [scores integerF

我正在使用NSUserDefaults保存分数,但当我关闭应用程序(在多任务处理中)并重新打开时,NSUserDefaults不会保存分数。以下是NSUserDefaults中涉及的所有代码:

分数=[NSUserDefaults standardUserDefaults]

[scores setInteger:currentHighScore-forKey:@“currentHighScore”]

-(无效)检查高分{

int checkHighScore = [scores integerForKey:@"currentHighScore"];

if(finalScore >= checkHighScore){
    currentHighScore = finalScore;
    [scores setInteger: currentHighScore forKey: @"currentHighScore"];
} 
}

然后我在死亡屏幕的更新方法中调用检查高分。是我用错了还是这是个小故障


谢谢大家!

在NSUserDefaults中保存数据的最后一行中保存这一行

scores = [NSUserDefaults standardUserDefaults];

[scores setInteger: currentHighScore forKey:@"currentHighScore"];
[scores synchronize]; /// just add this line
我希望这对你有帮助
:)

你是如何“杀死”你的应用程序的?如果您通过单击Xcode中的stop按钮来执行此操作,则基本上是中止,并且用户默认值不会更新。如果你使用command-Q或退出菜单,它应该会更新。我会通过关闭应用程序来终止它。多任务处理正在使它崩溃。这听起来像是两件不同的事情——要么你自己关上它,要么它崩溃了,到底是什么?您是在设备上运行此操作,而不是在模拟器上运行此操作吗?请使用[[NSUserDefaults standardUserDefaults]IntegerWorkey:@“currentHighScore”];也许这会有助于在iPhone设备上检查它,而不是在模拟器上。我的问题将在设备上以布尔值解决。不,这不起作用,还有其他修复或保存分数的方法吗?您好,现在只需单击此链接并获取有关UserDefaults的所有信息。实际上,如果您使用我的上述代码,则其工作完美,但只需查看此链接即可从该伙伴处获得答案:)