欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

cocos2d寫json閃退

最近在使用Cocos2d-x時(shí),遇到了一個(gè)很奇怪的問題,當(dāng)我嘗試使用Cocos2d-x寫JSON時(shí),程序總是會(huì)突然閃退,而且沒有任何報(bào)錯(cuò)信息。

通過多次嘗試,最終發(fā)現(xiàn)是因?yàn)樵趧?chuàng)建JSON對象時(shí),采用了錯(cuò)誤的方式。正確的寫法應(yīng)該是創(chuàng)建一個(gè)json::Value對象,而不是普通的JSON對象。

// 錯(cuò)誤寫法
Json::Value json;
json["key1"] = "value1";
json["key2"] = 2;
CCLog("%s", json.toStyledString().c_str());
// 正確寫法
rapidjson::Value json(rapidjson::kObjectType);
json.AddMember("key1", "value1", json.GetAllocator());
json.AddMember("key2", 2, json.GetAllocator());
rapidjson::StringBuffer buffer;
rapidjson::Writerwriter(buffer);
json.Accept(writer);
CCLOG("%s", buffer.GetString());

在Cocos2d-x中,JSON的實(shí)現(xiàn)是采用第三方庫rapidjson,而rapidjson中的Value對象是可以進(jìn)行完整的json對象創(chuàng)建和讀取等操作的。因此,為了避免閃退等問題,我們一定要正確地使用rapidjson中的Value對象。

總之,通過對Cocos2d-x中JSON對象的正確使用,我們可以優(yōu)化我們的程序,避免各種莫名其妙的問題的出現(xiàn)。