NSUserDefaults保存的数据 synchornize
2013-03-22 16:27
411 查看
今天用到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方法强制写入。
相关文章推荐
- 使用NSUserDefaults对iSO应用保存设置数据和缓存对象
- iPhone NSUserDefaults 保存数据
- NSUserDefaults无法保存数据
- Swift NSUserDefaults本地数据保存
- NSUserDefaults保存的数据
- NSUserDefaults 数据保存
- iOS的数据保存-NSUserDefaults
- 用系统NSUserDefaults方法保存历史数据
- NSUserDefaults:通常用来保存一些小巧的数据,如用户的用户名密码,或者是用户的使用习惯,如是否自动打开背景音乐等。
- (转载)NSUserDefaults 保存数据
- NSUserDefaults无法保存数据
- 用系统NSUserDefaults方法保存历史数据
- iOS开发笔记--iOS开发 使用NSUserDefaults 保存数据
- iOS开发笔记--iOS开发 使用NSUserDefaults 保存数据
- ios数据本地持久化 之 NSUserDefaults,切入后台时保存
- iPhone NSUserDefaults 保存数据
- iOS NSUserDefaults数据保存报错:Attempt to set a non-property-list object...
- NSUserDefaults数据保存报错:Attempt to set a non-property-list object...
- OC数据储存本地(一)-----iOS----NSUserDefaults 保存 清空
- NSUserDefaults保存的数据