问题描述:
在调试项目的时候遇到的问题,用NSUserDefaults将一个字符串写在本地,然后就重新运行程序,但是此时用NSUserDefaults取到的值为null。
原因分析:
使用NSUserDefaults将对象写入本地,不是立即写入,而是根据时间戳定时的把缓存中的数据写入本地磁盘。所以刚写入就重新运行程序,数据有可能还没有写入磁盘。
解决办法:
调用synchornize方法强制写入。
[NSUserDefaultsstandardUserDefaults]synchronize];
参考:http://www.cnblogs.com/ios-wmm/archive/2013/03/01/2646780.html