欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS中延時執(zhí)行的幾種方式比較及匯總

 更新時間:2018年02月03日 11:59:52   作者:wide288  
這篇文章主要給大家介紹了關(guān)于iOS中延時執(zhí)行的幾種方式比較及匯總,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。

前言

在開發(fā)過程中,我們有時會希望把一些操作封裝起來延遲一段時間后再執(zhí)行。本文列舉了四種延時執(zhí)行某函數(shù)的方法及其一些區(qū)別。假如延時1秒時間執(zhí)行下面的方法。

- (void)delayMethod { NSLog(@"execute"); }

1.performSelector方法

這是iOS中常用的一種延遲執(zhí)行方法.

   //不帶參數(shù)
   [self performSelector:@selector(delayDo:) withObject:nil afterDelay:1.0f];
   //帶參數(shù)
   [self performSelector:@selector(delayDo:) withObject:@"abc" afterDelay:1.0f];

此方式要求必須在主線程中執(zhí)行,否則無效。

是一種非阻塞的執(zhí)行方式,

暫時未找到取消執(zhí)行的方法。

2.定時器:NSTimer

采用計時器的延遲方法

[NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(delayMethod) userInfo:nil repeats:NO];

此方式要求必須在主線程中執(zhí)行,否則無效。

是一種非阻塞的執(zhí)行方式,

可以通過NSTimer類的- (void)invalidate;取消執(zhí)行。

3. sleep方式

[NSThread sleepForTimeInterval:1.0f]; [self delayMethod];

此方式在主線程和子線程中均可執(zhí)行。

是一種阻塞的執(zhí)行方式,建方放到子線程中,以免卡住界面

沒有找到取消執(zhí)行的方法。

最好不要在主線程中使用,否則會卡住界面.

4.GCD方式

//在主線程延遲執(zhí)行  
 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
   [self delayDo:@"GCD"];
   });
//在子線程延遲執(zhí)行
   dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
   [self delayDo:@"Global-GCD"];
   });

此方式在可以在參數(shù)中選擇執(zhí)行的線程。

是一種非阻塞的執(zhí)行方式,

沒有找到取消執(zhí)行的方法。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • iOS自定義UIBarButtonItem的target和action示例代碼

    iOS自定義UIBarButtonItem的target和action示例代碼

    這篇文章主要給大家介紹了關(guān)于iOS自定義UIBarButtonItem的target和action的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-02-02
  • IOS React Native FlexBox詳解及實例

    IOS React Native FlexBox詳解及實例

    這篇文章主要介紹了IOS React Native FlexBox詳解的相關(guān)資料,并附實例代碼,需要的朋友可以參考下
    2016-11-11
  • IOS 屏幕適配方案實現(xiàn)縮放window的示例代碼

    IOS 屏幕適配方案實現(xiàn)縮放window的示例代碼

    這篇文章主要介紹了IOS 屏幕適配方案實現(xiàn)縮放window的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • iOS利用Label實現(xiàn)的簡單高性能標簽TagView

    iOS利用Label實現(xiàn)的簡單高性能標簽TagView

    這篇文章主要給大家介紹了關(guān)于iOS利用Label實現(xiàn)的簡單高性能標簽TagView的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2018-03-03
  • iOS之點擊通知欄的通知進入程序的觸發(fā)事件

    iOS之點擊通知欄的通知進入程序的觸發(fā)事件

    本文主要介紹了iOS中點擊通知欄的通知進入程序的觸發(fā)事件的相關(guān)知識,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • iOS動畫實現(xiàn)雨花與櫻花特效

    iOS動畫實現(xiàn)雨花與櫻花特效

    小編今天為大家?guī)硪粓鲣冷罏r瀝的夜空之雨和滿天飛舞的櫻花之戀,希望能在炎炎夏日為您帶來一絲清爽的涼意!學習iOS動畫的小伙伴們可以參考學習。
    2016-08-08
  • iOS掃描二維碼實現(xiàn)手勢拉近拉遠鏡頭

    iOS掃描二維碼實現(xiàn)手勢拉近拉遠鏡頭

    這篇文章主要為大家詳細介紹了iOS掃描二維碼實現(xiàn)手勢拉近拉遠鏡頭,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • iOS彈幕開發(fā)中遇到的問題匯總

    iOS彈幕開發(fā)中遇到的問題匯總

    最近做項目的時候需要實現(xiàn)彈幕這個功能, 雖然感覺實現(xiàn)起來也不是很復雜,但還是遇到了一些問題,下面這篇文章主要給大家總結(jié)介紹了在iOS彈幕開發(fā)中遇到的問題,文中將解決的方法介紹的非常詳細,需要的朋友可以參考下。
    2018-01-01
  • IOS 開發(fā)之UILabel 或者 UIButton加下劃線鏈接

    IOS 開發(fā)之UILabel 或者 UIButton加下劃線鏈接

    這篇文章主要介紹了IOS 開發(fā)之UILabel 或者 UIButton加下劃線鏈接的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • iOS動畫案例(1) 類似于qq賬號信息里的一個動畫效果

    iOS動畫案例(1) 類似于qq賬號信息里的一個動畫效果

    做一個類似于qq賬號信息里的一個動畫,感覺挺有意思,下面給大家分享iOS動畫案例(1) 類似于qq賬號信息里的一個動畫效果,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
    2017-01-01

最新評論