NSUserDefaults保存的数据
2013-05-21 15:04
381 查看
今天用到NSUserDefault的时候,一直以为[[NSUserDefaults standardUserDefaults] setObject:array forKey:@"testInfo"] ;就算存储好了,再[[NSUserDefaults standardUserDefaults] arrayForKey:@"testInfo"]就算取出来,可是发现重启动程序,关键字testInfo对应的竟然是空,仔细查下资料,发现自己太大意了,忘了写到disk里面了![[NSUserDefaults
standardUserDefaults] synchronize]; 涨学问了又。。。呵呵!!!!
下面贴出代码:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@"111" forKey:@"myTest"];
[defaults synchronize];
NSString *testStr = [defaults objectForKey:@"myTest"];
NSLog(@"testStr is: %@",testStr);
注意问题:
通过查看官方文档。UserDefaults不是立即写入,而是根据时间戳定时的把缓存中的数据写入本地磁盘。所以调用了set方法之后数据有可能还没有写入磁盘应用程序就终止了。出现以上问题。可以通过调用synchornize方法强制写入。
standardUserDefaults] synchronize]; 涨学问了又。。。呵呵!!!!
下面贴出代码:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@"111" forKey:@"myTest"];
[defaults synchronize];
NSString *testStr = [defaults objectForKey:@"myTest"];
NSLog(@"testStr is: %@",testStr);
注意问题:
通过查看官方文档。UserDefaults不是立即写入,而是根据时间戳定时的把缓存中的数据写入本地磁盘。所以调用了set方法之后数据有可能还没有写入磁盘应用程序就终止了。出现以上问题。可以通过调用synchornize方法强制写入。
相关文章推荐
- IOS使用NSUserDefaults保存用户登录数据时注意事项
- iOS 数据持久化之NSUserDefaults-保存Settings
- NSUserDefaults无法保存数据
- iPhone NSUserDefaults 保存数据
- NSUserDefaults保存的数据
- Swift NSUserDefaults本地数据保存
- 用系统NSUserDefaults方法保存历史数据
- 【已解决】NSUserDefaults偶尔/有时候保存数据会失败/失效
- NSUserDefaults无法保存数据
- 用系统NSUserDefaults方法保存历史数据
- iOS开发笔记--iOS开发 使用NSUserDefaults 保存数据
- 使用NSUserDefaults对iSO应用保存设置数据和缓存对象
- iPhone NSUserDefaults 保存数据
- ios数据本地持久化 之 NSUserDefaults,切入后台时保存
- NSUserDefaults:通常用来保存一些小巧的数据,如用户的用户名密码,或者是用户的使用习惯,如是否自动打开背景音乐等。
- NSUserDefaults 数据保存
- (转载)NSUserDefaults 保存数据
- iOS的数据保存-NSUserDefaults
- OC数据储存本地(一)-----iOS----NSUserDefaults 保存 清空
- iOS开发笔记--iOS开发 使用NSUserDefaults 保存数据