使用 NSUserDefaults 的每日高分
Daily high score using NSUserDefaults
如何使用 NSUserDefaults
创建每日最高分?
我想在每天的某个时间重置高分
if(currentScore>currentHighScore)
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setDouble:currentScore forKey:_highScoreLabel.name];
[defaults synchronize];
currentHighScore=currentScore;
}
我会用高分保存一个时间戳。每次提交新分数时,检查时间戳是否超过 24*60*60 秒。如果是,则将旧的高分归零。然后继续检查新的高分是否更大。无论当地时区如何,这都应该有效。在伪代码中是这样的:
is time stamp > 1 day old?
yes: zero old high score
is new high score > old high score ?
yes: replace old high score with new high score
update time stamp to current time
如何使用 NSUserDefaults
创建每日最高分?
我想在每天的某个时间重置高分
if(currentScore>currentHighScore)
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setDouble:currentScore forKey:_highScoreLabel.name];
[defaults synchronize];
currentHighScore=currentScore;
}
我会用高分保存一个时间戳。每次提交新分数时,检查时间戳是否超过 24*60*60 秒。如果是,则将旧的高分归零。然后继续检查新的高分是否更大。无论当地时区如何,这都应该有效。在伪代码中是这样的:
is time stamp > 1 day old?
yes: zero old high score
is new high score > old high score ?
yes: replace old high score with new high score
update time stamp to current time