iOS SDK和Objective-C的新手,只是对NSTimeInterval有一个简单的问题。
我有一个非常简单的游戏,我想展示游戏玩了多长时间(以便我可以节省最佳时间)。
现在,当然,如果我用这样的东西设置标签的文本:
NSTimeInterval elapsedTime = [startDate timeIntervalSinceNow];
theLabel.text = [NSString stringWithFormat:@"%.2f", -elapsedTime];
标签的文字将是游戏开始后经过的时间,即0秒。
我可以通过什么方式让elapsedTime对象“在后台运行”,这样玩家可以随时查看他/她玩了多长时间?
答案 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
}