1.performSelector
[self performSelector:@selector(doSomeThing) withObject:self afterDelay:2];
/**
* 延遲執行
*
* @param aSelector 方法名稱
* @param anArgument 要傳遞的參數,如果無參數,就設為nil
* @param delay 延遲的時間
*/
- (void)performSelector:(SEL)aSelector withObject:(nullable id)anArgument afterDelay:(NSTimeInterval)delay{}
2.GCD
int64_t delayInSeconds = 10.0; // 延遲的時間
/*
*@parameter 1,時間參照,從此刻開始計時
*@parameter 2,延時多久,此處為秒級,還有納秒等。10ull * NSEC_PER_MSEC
*/
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
// do something
});
3.每一秒執行一次 (重復性)
[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(testTimer) userInfo:nil repeats:YES];
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。