NSUserDefaults 在我们编写代码中是最常用的一个永久保存数据的方法,也是最简单的。
使用NSUserDefault需要注意:
1.数据的本地化保存不是实时的,如果需要实时保存,调用synchronize方法。
2.保存的数据必须是“不可变的”。
3.保存数据数据使用 setObjectforKey(不同数据类型提供了不同的方法,例如保存Integer使用SetIntegerforKey等),同理读取使用ObjectforKey(IntegerforKey)。
- (void) btnClick : (UIButton*) sender { NSInteger tag = sender.tag; NSUserDefaults *def = [NSUserDefaults standardUserDefaults]; if(tag == 101) { [def setInteger:31 forKey:@"age"]; [def setObject:@"harry" forKey:@"name"]; NSArray *array = [NSArray arrayWithObjects:@"tongji", @"cumt", @"wsyz", nil]; [def setObject:array forKey:@"edu"]; //强制写入文件 [def synchronize]; } else if (tag == 102) { NSInteger age = [def integerForKey:@"age"]; NSString *name = [def objectForKey:@"name"]; NSArray *edu = [def objectForKey:@"edu"]; NSLog(@"name is %@, age is %ld, edu is %@", name, (long)age, edu); } }