当应用程序终止时,我如何能够保存整数,然后在重新打开应用程序后再次加载它?

时间:2014-02-18 03:06:05

标签: ios integer save nsuserdefaults

我正在开发一个应用程序,我需要保存一个int,直到玩家决定再次玩游戏。如果有人可以通过使用NSUserDefaults在应用程序终止时保存此整数,然后能够在应用程序加载后再次加载它,我将不胜感激。如果有任何进一步的信息需要帮助我帮助我告诉我!提前谢谢!

2 个答案:

答案 0 :(得分:1)

您无法保存int,您需要将其转换为NSNumber。使用:

 NSNumber *number = @(myInt);

然后你可以保存它(当应用终止于appDelegate的applicationWillTerminate :)时使用:

[[NSUserDefaults standardUserDefaults] setObject:number forKey:@"number"];
[[NSUserDefaults standardUserDefaults] synchronize];

要检索值,请使用:

NSNumber *number = [[NSUserDefaults standardUserDefaults] stringForKey:@"number"];

答案 1 :(得分:1)

正如pranav告诉你可以将int存储为NSNumber或者你可以将它存储为String,以下将与NSNumber对象一起正常工作,

    int a = 10;
    NSNumber *myNumber = [NSNumber numberWithInt:a];
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:myNumber forKey:@"storedInt"];
    NSLog(@"stored number object %@", [defaults objectForKey:@"storedInt"]);  // retrieve value from NSUserDefaults

    //then change NSNumber object to int value - if required
    int retrievedInt = [myNumber intValue];
    NSLog(@"int value %u", retrievedInt);
相关问题