使用 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