欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

(转)[IOS]Timer定时器

程序员文章站 2022-04-04 16:50:20
...

转自:http://blog.csdn.net/springjustin/article/details/50978671

 

NSTimer

方式1

    // 创建定时器

    NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(test) userInfo:nil repeats:YES];

 

    // 停止定时器

    [timer invalidate];

 

方式2

    // 创建定时器

    NSTimer *timer = [NSTimer timerWithTimeInterval:2 target:self selector:@selector(test) userInfo:nil repeats:YES];

    // 将定时器添加到runloop中,否则定时器不会启动

    [[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];

 

    // 停止定时器

    [timer invalidate];

方式1会自动将创建的定时器以默认方式添加到当前线程runloop中,而无需手动添加。但是在此种模式下,当滚动屏幕时runloop会进入另外一种模式,定时器会暂停,为了解决这种问题,可以像方式2那样把定时器添加到NSRunLoopCommonModes模式下。

方式1和方式2在设置后都会在间隔设定的时间(本例中设置为2s)后执行test方法,如果需要立即执行可以使用下面的代码。

注销定时器:[time fire];

相关标签: timer 定时器