747 auto winSize = Director::getInstance()->getWinSize();
749 auto writeResult = Label::createWithTTF(
"show writeResult",
"fonts/Thonburi.ttf", 18);
750 this->addChild(writeResult);
751 writeResult->setPosition(winSize.width / 2, winSize.height * 3 / 4);
753 auto readResult = Label::createWithTTF(
"show readResult",
"fonts/Thonburi.ttf", 18);
754 this->addChild(readResult);
755 readResult->setPosition(winSize.width / 2, winSize.height / 3);
759 ValueMap mapInValueMap;
760 mapInValueMap[
"string1"] =
"string in dictInMap key 0";
761 mapInValueMap[
"string2"] =
"string in dictInMap key 1";
762 mapInValueMap[
"none"].getType();
764 valueMap[
"data0"] = Value(mapInValueMap);
766 valueMap[
"data1"] = Value(
"string in array");
768 ValueVector arrayInMap;
769 arrayInMap.push_back(Value(
"string 0 in arrayInMap"));
770 arrayInMap.push_back(Value(
"string 1 in arrayInMap"));
771 valueMap[
"data2"] = arrayInMap;
774 auto booleanObject = Value(
true);
775 valueMap[
"data3"] = booleanObject;
778 auto intObject = Value(1024);
779 valueMap[
"data4"] = intObject;
782 auto floatObject = Value(1024.1024f);
783 valueMap[
"data5"] = floatObject;
786 auto doubleObject = Value(1024.123);
787 valueMap[
"data6"] = doubleObject;
791 std::string writablePath = FileUtils::getInstance()->getWritablePath();
792 std::string fullPath = writablePath +
"testWriteValueMap.plist";
793 if (FileUtils::getInstance()->writeValueMapToFile(valueMap, fullPath.c_str()))
795 log(
"see the plist file at %s", fullPath.c_str());
796 writeResult->setString(
"write success");
800 log(
"write plist file failed");
801 writeResult->setString(
"write failed");
804 ValueMap readValueMap = FileUtils::getInstance()->getValueMapFromFile(fullPath.c_str());
805 std::string readDataStr =
"read data:\n";
807 ValueMap readMapInMap = readValueMap[
"data0"].asValueMap();
808 readDataStr +=
" mapValue:[\"string1\"][" + readMapInMap[
"string1"].asString() +
"]\n";
809 readDataStr +=
" mapValue:[\"string2\"][" + readMapInMap[
"string2"].asString() +
"]\n";
812 readDataStr +=
" stringValue:" + readValueMap[
"data1"].asString() +
"\n";
815 ValueVector readVectorInMap = readValueMap[
"data2"].asValueVector();
816 readDataStr +=
" vectorValue:[1]" + readVectorInMap.at(0).asString() +
"\n";
817 readDataStr +=
" vectorValue:[2]" + readVectorInMap.at(1).asString() +
"\n";
820 readDataStr +=
" boolValue:" + StringUtils::format(
"%d", readValueMap[
"data3"].asBool()) +
"\n";
823 readDataStr +=
" intValue:" + StringUtils::format(
"%d", readValueMap[
"data4"].asInt()) +
"\n";
826 readDataStr +=
" floatValue:" + StringUtils::format(
"%f", readValueMap[
"data5"].asFloat()) +
"\n";
829 readDataStr +=
" doubleValue:" + StringUtils::format(
"%f", readValueMap[
"data6"].asDouble()) +
"\n";
831 readResult->setString(readDataStr);
virtual void onEnter() override