iOS09-NSUserDefault
2015-12-16 10:12
141 查看
今天用到 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方法强制写入。
下面贴出代码:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@"111" forKey:@"myTest"];
[defaults synchronize];
NSString *testStr = [defaults objectForKey:@"myTest"];
NSLog(@"testStr is: %@",testStr);
注意问题:
通过查看官方文档。UserDefaults不是立即写入,而是根据时间戳定时的把缓存中的数据写入本地磁盘。所以调用了set方法之后数据有可能还没有写入磁盘应用程序就终止了。出现以上问题。可以通过调用synchornize方法强制写入。
相关文章推荐
- iOS08 页面跳转动画设置方法
- iOS CoreData数据迁移
- iOS05 PropertyList,即属性列表文件
- 关于tableviewHeader盖住cell的问题解决
- ios开发——点击空白处隐藏键盘的几种方法
- iOS开发之XML解析
- Nagios安装配置详解
- IOS 开发调试方法
- iOS01 计算器
- iOS开发常用的RGB色值
- c#上iOS apns p12文件制作记录
- IOS多线程系统学习之NSThread
- iOS-收集的不常用却实用的小方法和技巧
- iOS 开发之一个挺操蛋的问题,Xcode刚打开工程文件展示区显示不出所有文件。
- IOS开发中的CGFloat、CGPoint、CGSize和CGRect
- iOS 重用 collectionViewCell时出现文字层叠
- iOS 重用 collectionViewCell时出现文字层叠
- iOS CollectionView交互,CollectionViewCell点击操作
- iOS CollectionView交互,CollectionViewCell点击操作
- iOS 编辑页面的实现方法,从一个页面跳转(push)到下一页面时怎么传递数据