1. 使用NSTimer *_timer --游戏计时器
2. NSDate *_startTime -- 开始时间
3. 初始化计时器 _timer = [NSTimer scheduledTimerWithInterval : 1.0f target: self selector:@selector(updateTimer:) userInfo: nil repeats:YES];
初始化计时器的意思是:每隔1.0s执行一次updateTimer方法,如果将repeats 设置为NO,则只会在开始后的1.0s执行一次,而不是每隔1.0s再去执行
4. - (void) updateTimer : (NSTimer *) sender {
//计算游戏开始时间和当前时间的时间差,单位秒
//sender.fireDate就是获取当前时间
NSInteger deltatime = [sender.fireDate timeIntervalSinceDate:_startTime];//这就是计算开始时间和当前时间的时间差几秒
//将时间差设置到显示控件label中,格式 00:00
//格式化字符串:%d : 输出数字,%2d:输出2位数字 %02d:输出两位数字,不足两位在左边补0
//deltatime / 60能获取到当前的分钟 deltatime % 60 :能获取到当前的秒
NSString *timestr = [NSString stringWithFormat: @"%02d:%02d", deltatime / 60,deltatime % 60];
[_time setText : timestr];//这样每隔1s用时就会变化一次
}
5. 关闭计时器: [_timer invalidate];
原文:http://www.cnblogs.com/liyajie/p/4970240.html