iOS - 定時任務(wù)

定時任務(wù)就是一定時間內(nèi)或一定時間之后做某事,一共三個方法。

現(xiàn)在要執(zhí)行的操作是,2秒之后執(zhí)行begin這個方法。

第一種方法:


[self performSelector:@selector(begin) withObject:nil afterDelay:2];

第二種方法:用多線程GCD實現(xiàn)


dispatch_after(dispatch_time(DISPATCH_TIME_NOW,(int64_t)(2 * NSEC_PER_SEC)),dispatch_get_main_queue(),^{

self.hud.alpha=0.0

});

第三種方法:用NSTimer


[NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(begin)userInfo:nil repeats:NO];

// repeats如果為YES,每隔2秒就會調(diào)用一次begin方法

這里再補充一個繪圖時使用的定時方法

在繪圖的時候需要用到定時器,通常使用CADisplayLink(每次屏幕刷新的時候就會調(diào)用,屏幕一般一秒刷新60次),NSTimer很少用于繪圖,因為調(diào)度優(yōu)先級比較低,并不會準(zhǔn)時調(diào)用,會有卡頓的情況出現(xiàn)

    CADisplayLink *link = [CADisplayLink displayLinkWithTarget:self selector:@selector(begin)];
    
    // 添加主運行循環(huán)
    [link addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容