使用NSUserDefaults的每日高分

时间:2015-09-23 15:18:38

标签: objective-c sprite-kit nsuserdefaults

如何使用NSUserDefaults创建每日高分? 我希望每天在特定时间重置高分。

if(currentScore>currentHighScore)
{
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setDouble:currentScore forKey:_highScoreLabel.name];
    [defaults synchronize];
    currentHighScore=currentScore;
}

1 个答案:

答案 0 :(得分:2)

我会保存高分的时间戳。每次提交新分数时,请检查时间戳是否超过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