定時器
第一種 : NSTimer
@property(nonatomic,strong)NSTimer *timer;
//建立定時器
self.timer = [NSTimer scheduledTimerWithTimeInterval:1.5 target:self selector:@selector(imageChange) userInfo:nil repeats:YES];
//定時器實現方法
- (void)imageChange{
}
第二種 : GCD定時器
dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, dispatch_get_main_queue());
dispatch_source_set_timer(timer, DISPATCH_TIME_NOW, 2 * NSEC_PER_SEC, 0 * NSEC_PER_SEC);
dispatch_source_set_event_handler(timer, ^{
NSLog(@"這個是GCD的定時器");
if (/* DISABLES CODE */ (NO)) {
// 這個Block裡一定要寫這行程式碼,要不然定時器不會執行
dispatch_source_cancel(timer);
}
});
dispatch_resume(timer);
第三種:CADisplayLink
CADisplayLink *display= [CADisplayLink displayLinkWithTarget:self selector:@selector(updateImage)];
[display addToRunLoop:[NSRunLoopmainRunLoop] forMode:NSDefaultRunLoopMode];
說明: CADisplayLink刷幀,預設每秒重新整理60次。該定時器建立之後,預設是不會執行的,需要把它載入到訊息迴圈中
相關文章
- 定時器以及定時器的幾個案例定時器
- Timer(定時器)定時器
- python定時器Python定時器
- JavaScript 定時器JavaScript定時器
- js定時器JS定時器
- JavaScript定時器JavaScript定時器
- iOS定時器iOS定時器
- 純生JS輪播,定時器新增和清除定時器JS定時器
- Qt - QTimer(定時器)QT定時器
- TIM-定時器定時器
- python flask 定時器PythonFlask定時器
- Flink onTimer定時器定時器
- java 中定時器Java定時器
- Qt QTimer定時器QT定時器
- Linux核心定時器Linux定時器
- JMeter—定時器(八)JMeter定時器
- Systemd 定時器教程定時器
- Java - Timer定時器Java定時器
- GO的定時器Timer 和定時任務cronGo定時器
- BIOS相關定時器iOS定時器
- 19. 通用定時器定時器
- workerman定時器問題定時器
- odoo12 定時器Odoo定時器
- (八)定時計數器
- JavaScript6:定時器JavaScript定時器
- 5.9 jmeter元件-定時器JMeter元件定時器
- Java之定時器TimerJava定時器
- 路由器WiFi定時開關設定教程 路由器WiFi定時開關怎麼設定?路由器WiFi
- JMeter定時器設定延遲與同步JMeter定時器
- 【JavaScript定時器小案例】常見的幾種定時器實現的案例JavaScript定時器
- Golang當中的定時器Golang定時器
- 2.系統定時器定時器
- .NET中有多少種定時器定時器
- 輪播圖(JavaScript定時器)JavaScript定時器
- 定時器引發的思考定時器
- 定時器(setInterval、setTimeout 和requestAnimationFrame)定時器requestAnimationFrame
- DSP28335-CPU定時器定時器
- 1.15 JavaScript6:定時器JavaScript定時器
- iOS 定時器耗電探究iOS定時器