游戏中一些比较简单的数据可以使用UserDefault来保存,它的存储方式为xml文件格式。
使用如下:
UserDefault::getInstance()->setStringForKey("key","value"); //添加一个字符串数据到指定key下,UserDefault::getInstance()如果是第一次调用则会自动生成一个UserDefault.xml文件,该文件用以保存所有的UserDefault中的数据,UserDefault中的数据是以key-value的方式来存储的
UserDefault::getInstance()->getStringForKey("key","default value");//读取指定key的数据,如不存在该数据则返回指定的默认值"default value"
UserDefault::isXMLFileExist();//用以判断是否已经存在UserDefault.xml文件
如果嫌弃调用时代码过长,可以使用宏,如
#define SaveStringToXML UserDefault::getInstance()->setStringForKey
#define LoadStringFromXML UserDefault::getInstance()->getStringForKey
...
#define SaveBooleanToXML UserDefault::getInstance()->setBoolForKey
#define LoadBooleanFromXML UserDefault::getInstance()->getBoolForKey
有时需要判断是否首次运行/生成某些数据,可使用一个boolean值来进行记录,如if(LoadBooleanFromXML("first_time",true))
{
//进行所需的首次加载操作
SaveBooleanToXML ("first_time",false);
}
然后就是这个flush函数了,
API上说是 将内容保存到XML文件中。