定時器的使用

2021-07-04 12:09:44 字數 1585 閱讀 7530

標籤(空格分隔): 知識補充

cadisplaylink

// 螢幕1秒重新整理60次,每一次螢幕重新整理的時候就會呼叫,1秒呼叫60次

// 建立乙個定時器,target物件會呼叫sel方法

+ (cadisplaylink *)displaylinkwithtarget:(id)target selector:(sel)sel;

// 把定時器加入程序(一般是加入主程序)

- (void)addtorunloop:(nsrunloop *)runloop formode:(nsstring *)mode;

// 移除定時器方法

- (void)invalidate;

nstimer
// 使用此方法建立nstimer物件會自動加入到runloop中

+ (nstimer *)scheduledtimerwithtimeinterval:(nstimeinterval)ti target:(id)atarget selector:(sel)aselector userinfo:(id)userinfo repeats:(bool)yesorno;

// 使用此方法建立nstimer物件需要手動新增到runloop中

+ (nstimer *)timerwithtimeinterval:(nstimeinterval)ti target:(id)atarget selector:(sel)aselector userinfo:(id)userinfo repeats:(bool)yesorno;

- (void)fire; //立即觸發定時器

- (nsdate *)firedate;//開始時間

- (void)setfiredate:(nsdate *)date;//設定firedata,暫停、開始會用到

- (nstimeinterval)timeinterval;//延遲時間

- (void)invalidate;//停止並刪除

- (bool)isvalid;//判斷是否有效

- (id)userinfo;//通常用nil

[nsthread sleepfortimeinterval:0.01]

;[nsthread sleepuntildate:2.0]

;

[self

performselector:

@selector(run) withobject:

nilafterdelay:

2.0];

//2秒後再呼叫self的run方法,內部實現就是nstimer

dispatch_after(dispatch_time(dispatch_time_now, (int64_t)(2.0 * nsec_per_sec)), dispatch_get_main_queue(), ^);
[nstimer scheduledtimerwithtimeinterval:2.0 target:self selector:@selector(test) userinfo:nil repeats:no];

定時器的使用

為了模擬翻頁場景 為了測試記憶體是否洩露 需要用定時任務重新整理介面。寫了個小例子。一上來是空白頁,3秒鐘後顯示第1頁,以後間隔3秒,頁號增加,直到第5頁。首先,在controlller標頭檔案中增加 nstimer timer 定時器變數。在實現 中建立乙個頁號變數 import list dem...

定時器的使用

基於qtimer類的定時器 建立定時器類的物件 qtimer timer newqtimer this timer 超時後會發出timeout 訊號,所以需要在建立好定時器物件後給其建立訊號與槽 connect timer,signal timeout this slot ontimeout 在需要...

springBoot使用定時器

configuration enablescheduling public class quartzconfig bean public trigger uploadtasktrigger component public class taskjob extends quartzjobbean da...