我在游戏中保存高分的问题。
例如,在第一场比赛之后,我以高分为零开始,高分成为分数。然而,在随后的比赛之后,高分并不总是在正确的时间被覆盖。那是为什么?
以下是代码:
- (void)viewDidLoad {
[super viewDidLoad];
//
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *myscore = [defaults objectForKey:@"savedstring"];
_scoreMade.text = myscore;
NSUserDefaults *defaults4 = [NSUserDefaults standardUserDefaults];
NSString *highscore1 = [defaults4 objectForKey:@"highscore"];
if(myscore > highscore1) {
_highestScore.text = myscore;
NSString *savestring33 = _scoreMade.text;
NSUserDefaults *defaults4 = [NSUserDefaults standardUserDefaults];
[defaults4 setObject:savestring33 forKey:@"highscore"];
[defaults4 synchronize];
NSLog (@"new score");
}
if(highscore1 > myscore){
_highestScore.text = highscore1;
NSLog (@"no new score");
}
}
答案 0 :(得分:0)
此:
if(myscore > highscore1) {
应该是:
if([myscore intValue] > [highscore1 intValue]) {
而且:
if(highscore1 > myscore) {
应该是:
if([highscore1 intValue] > [myscore intValue]) {