需要帮助找出 iOS 8 bug/glitch
Need help figuring out iOS 8 bug/glitch
我在游戏应用程序中有 2 个视图控制器。 1st VC 没有游戏玩法,只有介绍。第二 VC 是游戏玩法和 GameOver 屏幕。在 GameOver 屏幕上有一个 BACK 按钮,可以让你回到第一个 VC。在 GameOver 上还有最终得分和高分。例如,当前最终得分 = 3,而上一场比赛的最终得分为 2。出于某种原因,在从 VC2 到 VC1 的瞬间过渡期间,当我单击 BACK 转到第一个 VC 时,最终得分将显示 2 而不是 3。这不应该发生。但是,这对游戏玩法没有影响。但是还是很烦人bug/glitch.
finalscore = UILabel
高分=UILAbel
int scoreNumber;
NSInteger HighScoreNumber;
-(void)GameOver{
if (scoreNumber <0) {
scoreNumber=0;
}
finalscore.text=[NSString stringWithFormat:@"Final Score: %i", scoreNumber];
if (scoreNumber >HighScoreNumber) {
[[NSUserDefaults standardUserDefaults]setInteger:scoreNumber forKey:@"HighScoreSave"];
Highscore.text=[NSString stringWithFormat:@"High Score: %i", scoreNumber];
}
HighScoreNumber=[[NSUserDefaults standardUserDefaults]integerForKey:@"HighScoreSave"];
Highscore.text=[NSString stringWithFormat:@"High Score: %li", (long) HighScoreNumber];
}
当我达到新的高分时,同样的事情发生在 VC2 到 VC1 的瞬间转换中,它显示以前的高分而不是当前的高分。此故障或错误仅发生在 iOS 8 中,绝不会发生在 iOS 7 中。
我不知道如何解决这个问题。可能是什么问题?
我使用 MODAL unwind segue 从 VC1 到 VC2 再返回。
我不知道这是否是问题所在,但我注意到您没有同步 NSUserDefault
。
尝试添加它:
[[NSUserDefaults standardUserDefaults]setInteger:scoreNumber forKey:@"HighScoreSave"];
[[NSUserDefaults standardUserDefaults] synchronize]
我在游戏应用程序中有 2 个视图控制器。 1st VC 没有游戏玩法,只有介绍。第二 VC 是游戏玩法和 GameOver 屏幕。在 GameOver 屏幕上有一个 BACK 按钮,可以让你回到第一个 VC。在 GameOver 上还有最终得分和高分。例如,当前最终得分 = 3,而上一场比赛的最终得分为 2。出于某种原因,在从 VC2 到 VC1 的瞬间过渡期间,当我单击 BACK 转到第一个 VC 时,最终得分将显示 2 而不是 3。这不应该发生。但是,这对游戏玩法没有影响。但是还是很烦人bug/glitch.
finalscore = UILabel
高分=UILAbel
int scoreNumber;
NSInteger HighScoreNumber;
-(void)GameOver{
if (scoreNumber <0) {
scoreNumber=0;
}
finalscore.text=[NSString stringWithFormat:@"Final Score: %i", scoreNumber];
if (scoreNumber >HighScoreNumber) {
[[NSUserDefaults standardUserDefaults]setInteger:scoreNumber forKey:@"HighScoreSave"];
Highscore.text=[NSString stringWithFormat:@"High Score: %i", scoreNumber];
}
HighScoreNumber=[[NSUserDefaults standardUserDefaults]integerForKey:@"HighScoreSave"];
Highscore.text=[NSString stringWithFormat:@"High Score: %li", (long) HighScoreNumber];
}
当我达到新的高分时,同样的事情发生在 VC2 到 VC1 的瞬间转换中,它显示以前的高分而不是当前的高分。此故障或错误仅发生在 iOS 8 中,绝不会发生在 iOS 7 中。
我不知道如何解决这个问题。可能是什么问题?
我使用 MODAL unwind segue 从 VC1 到 VC2 再返回。
我不知道这是否是问题所在,但我注意到您没有同步 NSUserDefault
。
尝试添加它:
[[NSUserDefaults standardUserDefaults]setInteger:scoreNumber forKey:@"HighScoreSave"];
[[NSUserDefaults standardUserDefaults] synchronize]