我正在尝试使用NSUserDefaults
功能来保存我的游戏。我的问题是如何在NSUserDefaults
中对变量进行编码,以便我可以按一个按钮,该值可以加起来为原始值。
我已尝试使用以下代码进行保存并加载方法,但未能正确加载数字。
保存
- (IBAction)water2:(id)sender {
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
NSMutableArray * water = [defaults objectForKey:@"water"];
for(NSNumber * waternumber in water) {
NSLog(@"Score: %i", [waternumber intValue]);
NSMutableArray * water = [NSMutableArray arrayWithObjects:
[NSNumber numberWithInt:[waternumber intValue]+1], nil];
[defaults setObject:water forKey:@"water"];
NSLog(@"Score: %i", [waternumber intValue]);
NSMutableArray * nestedStructure = [[[NSUserDefaults standardUserDefaults] objectForKey: @"nested"] mutableCopy];
// Make some change to the structure
// Add it the whole thing back into NSUserDefaults
[[NSUserDefaults standardUserDefaults] setObject:nestedStructure forKey:@"nested"];
// Synchronize to ensure it's saved
[[NSUserDefaults standardUserDefaults] synchronize];
} }
加载方法:
- (IBAction)continue:(id)sender {
NSMutableArray * nestedStructure = [[[NSUserDefaults standardUserDefaults] objectForKey: @"nested"] mutableCopy];
// Make some change to the structure
// Add it the whole thing back into NSUserDefaults
[[NSUserDefaults standardUserDefaults] setObject:nestedStructure forKey:@"nested"];
// Synchronize to ensure it's saved
[[NSUserDefaults standardUserDefaults] synchronize];
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
NSMutableArray * water = [defaults objectForKey:@"water"];
for(NSNumber * waternumber in water) {
NSLog(@"water: %i", [waternumber intValue]);
}
答案 0 :(得分:0)
保存到NSUserDefaluts
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
NSMutableArray * water = [[NSMutableArray alloc] init];
[defaults setObject: water forKey:@"water"];
进入某些地方
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
NSMutableArray *water1 = [[NSMutableArray alloc]initWithArray:[defaults objectForKey:@"water"]];