搜索
您的当前位置:首页正文

RunLoop的最简单使用

来源:二三娱乐
- (void)viewDidLoad {
//创建一个NStimer用于记时间
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(on_Timer) userInfo:nil repeats:YES];
 //将NSTimer加入RunLoop过程中
 [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
}
- (void)on_Timer
{
 intager++;
 NSLog(@"%d",intager);
}
 

上面代码如若不将NSTimer加入RunLoop的话,则timer在主线程中执行,如主线程被占用,则计时会停止
举个例子:当前视图有一个tableview及一个NSTimer进行计时,刚开始计时正常,但当你开始滑动tableview或拖住不放的时候,NSTimer就停止了,也就是线程被阻塞。
而将timer加入到runloop中,相当于告诉主线程留一些时间给timer,这样则不会终端计时

Top