你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> 延遲執行的常用辦法

延遲執行的常用辦法

編輯:IOS開發綜合

一. performSelector

/**
 第一個參數:需求延遲執行的辦法
 第二個參數:要傳入的參數(id類型)
 第三個參數:延遲的時間
*/
[self performSelector:@selector(testMethod1:) withObject:@"aaa" afterDelay:5.0];

二. NSTimer

// 1.延遲執行某一段代碼
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:5.0 repeats:NO block:^(NSTimer * _Nonnull timer) {
 // 需求延遲執行的代碼
}];

// 2.延遲執行某一個辦法
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(testMethod1:) userInfo:nil repeats:NO];

// 假如運用下面兩種延遲執行的辦法,建議將定時器添加到NSRunLoop的Common形式中,避免其他控件的交互影響到定時器
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];

// 取消定時器
[timer invalidate];
// 取消的同時要銷毀定時器
timer = nil;

三. NSThread

該辦法使以後線程進入休眠形態來到達延遲的目的

// 只要一個參數:延遲的時間
[NSThread sleepForTimeInterval:5.0];

四. GCD

// 第一個參數:延遲的時間
// 可以經過改動隊列來改動線程
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
   // 需求延遲執行的代碼
};



【延遲執行的常用辦法】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved