Iphone 什么是默认错误?
我正在使用NSUserDefaults保存分数,但当我关闭应用程序(在多任务处理中)并重新打开时,NSUserDefaults不会保存分数。以下是NSUserDefaults中涉及的所有代码: 分数=[NSUserDefaults standardUserDefaults] [scores setInteger:currentHighScore-forKey:@“currentHighScore”] -(无效)检查高分{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
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的所有信息。实际上,如果您使用我的上述代码,则其工作完美,但只需查看此链接即可从该伙伴处获得答案:)