iOS 開發中方法延遲執行的幾種方式

2021-08-13 03:15:27 字數 939 閱讀 1156

公用延遲執行方法

- (void)delaymethod

[self performselector:@selector(delaymethod) withobject:nil/*可傳任意型別引數*/ afterdelay:2.0];注:此方法是一種非阻塞的執行方式,未找到取消執行的方法。

nstimer *timer = [nstimer scheduledtimerwithtimeinterval:2.0 target:self selector:@selector(delaymethod) userinfo:nil repeats:no];注:此方法是一種非阻塞的執行方式,取消執行方法:- (void)invalidate;即可

[nsthread sleepfortimeinterval:2.0];注:此方法是一種阻塞執行方式,建議放在子執行緒中執行,否則會卡住介面。但有時還是需要阻塞執行,如進入歡迎介面需要沉睡3秒才進入主介面時。沒有找到取消執行方式。

__block viewcontroller/*主控制器*/ *weakself = self;

dispatch_time_t delaytime = dispatch_time(dispatch_time_now, (int64_t)(2.0/*延遲執行時間*/ * nsec_per_sec));

dispatch_after(delaytime, dispatch_get_main_queue(), ^);`

注:此方法可以在引數中選擇執行的執行緒,是一種非阻塞執行方式。沒有找到取消執行方式。

君凱商聯網-ios-字唐名僧

iOS 延遲執行的幾種方法

void viewdidload void delaymenthod 注 此方法是一種非阻塞的執行方式,可以傳遞引數,未找到取消執行的方法。void viewdidload void delaymenthod 注 此方法是一種非阻塞的執行方式,可以傳遞引數,timer invalidate 取消執行...

iOS開發延遲執行乙個方法的方法

在實際的開發中,有時候需要延遲一段時間執行某個方法或者某段 總結兩種延遲執行某段 的方式 1.self performselector withobject afterdelay 延遲執行 sel 裡面的方法,是oc中的乙個方法。第乙個引數是要執行的方法,第二個引數是執行的方法的引數,可以有乙個引數...

iOS 延遲執行的方法總結

方法一 通過動畫的方式 1s後讓它消失 uiview animatewithduration 1.5animations completion bool finished 方法二 延遲執行 self performselector selector fangfa withobject nilafte...