UserDefault 中断

感觉中断的莫名其妙,快抓狂了。。。
bool SceneStart::isHaveSaveFile()
{
if (!UserDefault::sharedUserDefault()->getBoolForKey(“isHaveSaveFileXml”))
{
/从这一句开始/
UserDefault::sharedUserDefault()->setBoolForKey(“isHaveSaveFileXml”, true);
UserDefault::sharedUserDefault()->setIntegerForKey(“HighestScore1”, 0);
UserDefault::sharedUserDefault()->setIntegerForKey(“HighestScore2”, 0);
UserDefault::sharedUserDefault()->setIntegerForKey(“HighestScore3”, 0);
UserDefault::sharedUserDefault()->setIntegerForKey(“HighestScore4”, 0);
UserDefault::sharedUserDefault()->setIntegerForKey(“score”, 0);
UserDefault::sharedUserDefault()->flush();
return true;
}
else
{
return true;
}
}
void SceneStart::getHighestHistorySorce()
{
if (isHaveSaveFile())
{
highestHistoryScore11 = CCUserDefault::sharedUserDefault()->getIntegerForKey(“HighestScore1”, 0);
highestHistoryScore22 = CCUserDefault::sharedUserDefault()->getIntegerForKey(“HighestScore2”, 0);
highestHistoryScore33 = CCUserDefault::sharedUserDefault()->getIntegerForKey(“HighestScore3”, 0);
highestHistoryScore44 = CCUserDefault::sharedUserDefault()->getIntegerForKey(“HighestScore4”, 0);
}
}

getBoolForKey 那个if判断没给默认值,当没有的时候空了

if (!UserDefault::sharedUserDefault()->getBoolForKey(“isHaveSaveFileXml”,false))这样

不是的 我在cpp开头第一行写UserDefault::sharedUserDefault()->setBoolForKey(“isHaveSaveFileXml”, true);都直接报错。

你的不是set吗,我说的是get,你get的时候可能key没有这个value啊。你单步断点,是在if那边有问题吗?if (!UserDefault::sharedUserDefault()->getBoolForKey(“isHaveSaveFileXml”,false))这句改了还是一样吗?

可以到if内部,执行到UserDefault::sharedUserDefault()->setBoolForKey(“isHaveSaveFileXml”, true);这一句没执行完中断的,以为是版本问题换了3.4 还是一样啊。。。有需要什么头文件吗

这是中断界面

这是中断语句

虽然不知道什么原因,解决办法使用cocos2dx3.2版本,没有一点问题,打包可以直接用3.6的打包。