保存app的状态,可以用NSUserDefault
基本使用:
?
创建一个user defaults方法有多个,最简单得快速创建方法:
? ?NSUserDefaults *accountDefaults = [NSUserDefaults standardUserDefaults];
?
添加数据到 user defaults:
? ?[accountDefaults setObject:nameField.text forKey:UserDefaultNameKey];
也可以添加基本数据类型int, float, bool等,有相应得方法
? ?[accountDefaults setBool:YES forKey:UserDefaultBoolKey];
?
从user defaults中获取数据:
? ?[accountDefaults objectForKey:NCUserDefaultNameKey]
? [accountDefaults boolForKey: UserDefaultBoolKey];
?
要点:
NSUserDefaults非常好用,并不需要用户在程序中设置NSUserDefaults的全局变量,需要在哪里使NSUserDefaults的数据,那么就在哪里创建一个NSUserDefaults对象,然后进行读或者写操作。
针对同一个关键字对应的对象或者数据,可以对它进行重写,重写之后关键字就对应新的对象或者数据,旧的对象或者数据会被自动清理。
?
问题:
网上说,不调用synchonize方法,数据不会保存,测试发现保存了,没有出现这样的情况。
环境是iOS 5.0. 可能和ios有关。
为了保险,还是在
- (void)applicationDidEnterBackground:(UIApplication *)application
或者?
- (void)applicationWillTerminate:(UIApplication *)applicationtion
调用一下。