连续显示NSTimeInterval

时间:2011-06-13 09:42:02

标签: objective-c ios xcode ios4

iOS SDK和Objective-C的新手,只是对NSTimeInterval有一个简单的问题。

我有一个非常简单的游戏,我想展示游戏玩了多长时间(以便我可以节省最佳时间)。

现在,当然,如果我用这样的东西设置标签的文本:

NSTimeInterval elapsedTime = [startDate timeIntervalSinceNow];
theLabel.text = [NSString stringWithFormat:@"%.2f", -elapsedTime];

标签的文字将是游戏开始后经过的时间,即0秒。

我可以通过什么方式让elapsedTime对象“在后台运行”,这样玩家可以随时查看他/她玩了多长时间?

1 个答案:

答案 0 :(得分:1)

看一下NSTimer类,在预设时间内安排计时器并更新回调中的标签。

-(void)viewDidLoad {
  [super viewDidLoad];

  // Add timer at 60 frames a second
  timer = [NSTimer scheduledTimerWithInterval:1.0/60.0 target:self selector:@selector(targetMethod:) userInfo:nil repeats: YES];  
}

-(void) targetMethod: NSTimer * theTimer {
... update label
}