@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
1. NSTimer,可以设置一段时间执行一次,不会卡住线程
//NSTimer不准确,CADisplayLink准确
self.timer = [NSTimer scheduledTimerWithTimeInterval:3.0target:selfselector:@selector(roll) userInfo:nilrepeats:NO];
//NSDefaultRunLoopMode 一旦有滚动事件,默认模式暂时不监听
//NSRunLoopCommonModes 滚动模式时监听
self.timer = [NSTimer timerWithTimeInterval:1.0 target:self selector:@selector(roll) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:_timer forMode:NSRunLoopCommonModes];
//结束方法
[self.timer invalidate];
2.GCD的方法,可以选择在子线程远行
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self roll];
});
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0 * NSEC_PER_SEC)), dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[self roll];
});
3.延时执行,不会卡住线程
[self performSelector:@selector(roll) withObject:nil afterDelay:3.0];
4.会卡住线程,不推荐使用
[NSThread sleepForTimeInterval:3.0];
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);