iOS开发之NSTimer

1、NSTimer叫做“定时器”,它的作用如下

  • Ø 在指定的时间执行指定的任务
  • Ø 每隔一段时间执行指定的任务

2、调用NSTimer下面的方法就会开启一个定时任务

+ (NSTimer *)scheduledTimerWithTimeInterval:(NSTimeInterval)ti          target:(id)aTarget  selector:(SEL)aSelector  userInfo:(id)userInfo

       repeats:(BOOL)yesOrNo;

每隔ti秒,调用一次aTarget的aSelector方法,yesOrNo决定了是否重复执行这个任务

3、通过invalidate方法可以停止定时器的工作,一旦定时器被停止了,就不能再次执行任务。只能再创建一个新的定时器才能执行新的任务

- (void)invalidate;

【备注】如果主线程中还有其他操作,NSTimer的scheduledTimerWithTimeInterval方法将暂停执行,当主线程中的相关操作结束后定时器操作才会继续执行。比如上方是广告轮播器(用定时器实现的图片轮播效果),下面是UITableView,当我们拖动UITableView的时候,上面广告轮播器是暂停轮播效果的,解决办法是加上下面代码,使主线程在处理其他任务的时候不暂停定时器操作:

[[NSRunLoop mainRunLoop] addTimer:myTimer forMode:

NSRunLoopComonModes];

posted @ 2015-08-31 19:00  Ray_hok  阅读(100)  评论(0编辑  收藏  举报