你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> 比照剖析iOS延遲執行的4種方式

比照剖析iOS延遲執行的4種方式

編輯:IOS開發綜合

最近學習了延遲執行的幾種辦法,分享一下:

1.performSelector(NSObject)辦法  2.NSTimer辦法  3.GCD辦法  4.sleep(NSThread)辦法

一、performSelector辦法:

復制代碼 代碼如下:[self performSelector:@selector(delayMethod) withObject:nil afterDelay:1.0f];

1.特點: 此方式要求必需在主線程中執行,否則有效。 是一種非阻塞的執行方式, 暫時未找到取消執行的辦法。

二、定時器:NSTimer:

復制代碼 代碼如下:[NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(delayMethod) userInfo:nil repeats:NO];

1.特點: 此方式要求必需在主線程中執行,否則有效。 是一種非阻塞的執行方式,可以經過NSTimer類的- (void)invalidate;取消執行

三、sleep方式:

復制代碼 代碼如下:[NSThread sleepForTimeInterval:1.0f];

1.特點: 此方式在主線程和子線程中均可執行。是一種阻塞的執行方式,建議放到子線程中,以免卡住界面 沒有找到取消執行的辦法

四、GCD方式:

復制代碼 代碼如下: dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ dispatch_async(dispatch_get_main_queue(), ^{ [self delayMethod]; }); });

1.特點: 此方式可以在參數中選擇執行的線程。 是一種非阻塞的執行方式,沒有找到取消執行的辦法。

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支持本站。

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

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