cocos2d-x 浅谈数据存储-CCUserDefault

本文详细介绍了CCUserDefault的使用方法,包括单例模式、XML存储技术、访问方式及初始化流程。通过宏定义简化代码,提供常用访问方法如get()、set()等,并解释了存储与初始化流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此类采用单例模式,可以通过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等方法就可以直接存取数据了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值