NSTimer计时器随笔

时间:2022-05-18 19:33:43

实例化计时器:

_timer = [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(updateTimer:) userInfo:nil repeats:YES];

TimeInterval:以秒为单位,多久会触发一次;

target:一般情况下都是self;

selector:@selector 是触发时需要执行的事情,需要将NSTimer自身作为参数传入;

repeats:是否重复;

 

在上面updateTimer:(NSTimer *)sender方法中 调用sender.fireDate获取此时触发的时间,然后调用timeIntervalSinceDate:(NSDate *)date;也就是触发时间和应用开始时初始化一个date时间的差值,也就是计时器获得的经过多久的时间了。单位秒。

- (void)updateTimer:(NSTimer *)sender{
    NSInteger deltaTime = [sender.fireDate timeIntervalSinceDate:_gameDate];
    NSLog(@"%d", deltaTime);    //1,2,3,4,5秒计时
}

 

关闭计时器:调用invalidate方法停止计时器;