您的位置:首页 > 移动开发 > IOS开发

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方法强制写入。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: