cocos2dx 3.3final UserDefault有个坑?
????今天在寫數據的時候,與同事的想法有點不一樣,讓我產生的疑問,沒想到貌似發現一個坑!
????同事存數據是直接調用UserDefault::getInstance()->setStringForKey(key, value);沒有加flush。。。我就納悶了,后來網上查資料,多虧下面兩篇文章:
????UserDefault存儲數據問題
????cocos2dx 3.2 的UserDefault
????項目中 cocos2d\cocos\base 路徑下看看,就知道答案了。
????因為你會發現那里有:CCUserDefault.h,CCUserDefault.cpp,CCUserDefaultAndroid.cpp,CCUserDefault.mm。
????也就是說后三個文件公用一個.h文件。那么你分別進到后三個文件查看就會發現:
????CCUserDefault.cpp是除IOS,MAC,Android之外的其他平臺調用文件,這里的flush()函數是空的。
????CCUserDefaultAndroid.cpp是Android平臺調用文件,同樣,這里的flush()函數也是空的。
????CCUserDefault.mm文件是IOS和MAC平臺調用文件,注意,這里的flush()函數是有內容的:[[NSUserDefaults standardUserDefaults] synchronize];
????那么可想而知,最起碼Android和蘋果這兩個平臺的數據存儲方式也是不同的。
????
????果然坑啊,還好覺得有問題,查了資料。。。。。
轉載于:https://blog.51cto.com/9151482/1627410
總結
以上是生活随笔為你收集整理的cocos2dx 3.3final UserDefault有个坑?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: maven update项目报错
- 下一篇: 利用dom4j取出XML文件中的数据