cocos2d-x 浅谈数据存储-CCUserDefault

此类采用单例模式,可以通过sharedUserDefault()函数获取其唯一实例
CCUserDefault采用XML存储技术,就是一般的键值对,初学者也能容易的掌握
访问方式为CCUserDefault::sharedUserDefault()
这句话比较长,而且用的地方也比较多,所以建议采用宏定义简化代码
如下: #define userDefault CCUserDefault::sharedUserDefault()
其实现的接口也比较简单实用,通过传统的get()、set()方法访问和修改值

方法如下:

//获取bool型值  
bool getBoolForKey(const char* pKey, bool defaultValue = false);  
//获取整型值  
int getIntegerForKey(const char* pKey, int defaultValue = 0);  
//获取浮点数值  
float getFloatForKey(const char* pKey, float defaultValue=0.0f);  
//获取双精度浮点数值  
double getDoubleForKey(const char* pKey, double defaultValue=0.0);  
//获取字符串  
std::string getStringForKey(const char* pKey, const std::string & defaultValue = "");  

//设置布尔型值  
void setBoolForKey(const char* pKey, bool value);  
//设置整型值  
void setIntegerForKey(const char* pKey, int value);  
//设置浮点数值  
void setFloatForKey(const char* pKey, float value);  
//双精度浮点数值  
void setDoubleForKey(const char* pKey, double value);  
//设置字符串值  
void setStringForKey(const char* pKey, const std::string & value);  

接下来是其一般存储与初始化流程
该存储文件名已经规定了为UserDefault.xml,当该文件不存在是会自动创建,存在之后直接存取就行了,不需要过多的操作
通过以下代码,以判断该文件是否存在,不存在就创建并写入记录,表明其已经存在。
当然这显得有些多余,因为直接写一条记录也会使其创建并且不会破坏其数据。
但对于程序员来说,这是一个好习惯
if(!userDefault->getBoolForKey("isExisted")){
userDefault->setBoolForKey("isExisted",true);//不知道userDefault是啥?正文第五行,自己翻去
}
这样数据存储就初始化好了,之后直接调用get、set等方法就可以直接存取数据了

Last modification:January 1st, 1970 at 08:00 am
如果看了这个文章可以让你少加会班,可以请我喝杯可乐
已打赏名单
微信公众号

Leave a Comment