iOS 中的NSTimer定时器的作用

来源:互联网 发布:有益网络怎么样 编辑:程序博客网 时间:2024/05/21 23:31

NSTimer:一旦创建了一个定时器对象(NStimer的实例化),它可以按照一定的时间间隔,将制定的信息发送给目标对象。并更新某个对象的行为。你可以选择在未来的某个时间将它停止、开启、甚至销毁。

1.设置定时器,并初始化定时器对象。

NSTimer *timer = [NSTimer  scheduledTimerWithTimeInterval:1.0 

target:self 

selector:@selector(onTimerCallBack:)

userInfo:nil 

repeats:YES];

第一个参数:多长的时间间隔;第二个参数:添加定时器的对象;第三个参数:定时之后的回调方法;第四个参数:相关信息,暂时先置为空;第五个参数:是否循环执行。


2.永久性关闭定时器并释放定时器对象。

[ timer invalidate];

timer = nil; //如果这里的定时器不再用的话,这里最好是置成空。如果继续使用,那么就不用置成空了。


3.在特定的情况下我们是可以实现暂停重启定时器的。

//注意:上述的关闭定时器的方法是永久性的,在暂停计时器的方法的时候是不可以用上述的停止方法的。

    

//暂停定时器(暂时关闭)

    [timer setFireDate:[NSDate distantFuture] ] ;

//开启定时器。

   [timer setFireDate:[NSDate distantPast] ];


4.还有一点需要注意的是,如果是在子线程中开启的,需要把timer加入到该线程的runloop中去。否则timer将会失效。

[ [ NSRunLoop  currentRunLoop]  addTimer: timer forMode: NSDefaultRunLoopMode ];


5.还可以将timer作为一种延时的方法

  [ [ NSRunLoop currentRunLooprunUntilDate:[NSDate dateWithTimeIntervalSinceNow2.0 ] ];


6.这里推荐一个函数,一个延迟函数

[ NSThread sleepForInterVal:5.0 ] ; //暂停5秒。



0 0
原创粉丝点击