存储数据的类就是CCUserDefault 这个类实现了一个静态的方法,供我们调用具体的看下面的例子
CCUserDefault::sharedUserDefault()->setIntegerForKey("level", mlevel); //存储int类型的数据
CCUserDefault::sharedUserDefault()->setIntegerForKey("money", money);
CCUserDefault::sharedUserDefault()->setIntegerForKey("xp", xp);
从上面的例子中可以看出 CCUserDefault 底层实现的其实就是一个key-value方式的 数据结构,可以用来存储c++的基本数据格式
一下是简单的源码片段:
class CC_DLL CCUserDefault
{
public:
~CCUserDefault();
// get value methods
/**
@brief Get bool value by key, if the key doesn't exist, a default value will return.
You can set the default value, or it is false.
*/
bool getBoolForKey(const char* pKey);
bool getBoolForKey(const char* pKey, bool defaultValue);
/**
@brief Get integer value by key, if the key doesn't exist, a default value will return.
You can set the default value, or it is 0.
*/
int getIntegerForKey(const char* pKey);
int getIntegerForKey(const char* pKey, int defaultValue);
/**
@brief Get float value by key, if the key doesn't exist, a default value will return.
You can set the default value, or it is 0.0f.
*/
float getFloatForKey(const char* pKey);
float getFloatForKey(const char* pKey, float defaultValue);
/**
@brief Get double value by key, if the key doesn't exist, a default value will return.
You can set the default value, or it is 0.0.
*/
double getDoubleForKey(const char* pKey);
double getDoubleForKey(const char* pKey, double defaultValue);
/**
@brief Get string value by key, if the key doesn't exist, a default value will return.
You can set the default value, or it is "".
*/
std::string getStringForKey(const char* pKey);
std::string getStringForKey(const char* pKey, const std::string & defaultValue);
// set value methods
/**
@brief Set bool value by key.
*/
void setBoolForKey(const char* pKey, bool value);
/**
@brief Set integer value by key.
*/
void setIntegerForKey(const char* pKey, int value);