-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
//方式1
//自动加在runloop下,运行
//这种方式下,如果滑动动textview,timer会暂停,即run方法不会被执行
[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(run) userInfo:nil repeats:YES];
//方式2
//同方式1
NSTimer *timer = [NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(run) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];
//方式3
//这种方式,只有textview在滑动的时候,timer才会执行
[[NSRunLoop currentRunLoop] addTimer:timer forMode:UITrackingRunLoopMode];
//方式4
//NSRunLoopCommonModes占位标记,标记NSDefaultRunLoopMode+UITrackingRunLoopMode
//即不管textview是否在滑动,timer都会执行
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
}
- (void)run{
NSLog(@"---run---");
}
IOS学习(二十二)runloop与timer
最新推荐文章于 2024-09-04 08:49:04 发布