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