Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.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
Ios NSUserDefaults standardUserDefaults synchronize给出错误的结果目标c_Ios_Objective C_Nsstring_Nsuserdefaults - Fatal编程技术网

Ios NSUserDefaults standardUserDefaults synchronize给出错误的结果目标c

Ios NSUserDefaults standardUserDefaults synchronize给出错误的结果目标c,ios,objective-c,nsstring,nsuserdefaults,Ios,Objective C,Nsstring,Nsuserdefaults,我想保存高分使用 同步 在我的应用程序中,但我得到了一个乱七八糟的数字。这是我得到的: 游戏场景.m if (highScore <score) { highScore = score; NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; [prefs setInteger:highScore forKey:@"highScore"]; [[NSUserDefaults sta

我想保存高分使用
同步
在我的应用程序中,但我得到了一个乱七八糟的数字。这是我得到的:
游戏场景.m

    if (highScore <score) {
    highScore = score;
    NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
    [prefs setInteger:highScore forKey:@"highScore"];
    [[NSUserDefaults standardUserDefaults] synchronize];
  }

为什么我得到了错误的值以及如何解决此问题?

您得到了错误的值,因为
rezult
NSString
,您应该更改此值:

NSString *rezult =[prefs stringForKey:@"highScore"];
为此:

NSInteger rezult = [prefs integerForKey:@"highScore"];

试着不要每次都初始化另一个nsuserdefaults,只要使用 [[NSUserDefaults standardUserDefaults]设置值:姓氏。文本分叉:@“Nume”];写 [[NSUserDefaults standardUserDefaults]valueForKey:@“Name”]读取


并确保使用相同的对象类型

[prefs setInteger:highScore forKey:@“highScore”]你写一个整数;然后将其作为字符串指针读回:
NSString*rezult=[prefs stringForKey:@“highScore]”-当然,它将永远不会是相同的;你很幸运它没有崩溃。
NSInteger rezult = [prefs integerForKey:@"highScore"];