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

對(duì)比分析iOS延遲執(zhí)行的4種方式

 更新時(shí)間:2016年11月04日 14:40:16   作者:han笑笑  
這篇文章主要對(duì)比分析了iOS延遲執(zhí)行的4種方式,比較iOS延遲執(zhí)行方式的特點(diǎn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

最近學(xué)習(xí)了延遲執(zhí)行的幾種方法,分享一下:

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

一、performSelector方法:

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

1.特點(diǎn): 此方式要求必須在主線程中執(zhí)行,否則無效。 是一種非阻塞的執(zhí)行方式, 暫時(shí)未找到取消執(zhí)行的方法。

二、定時(shí)器:NSTimer:

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

1.特點(diǎn): 此方式要求必須在主線程中執(zhí)行,否則無效。 是一種非阻塞的執(zhí)行方式,可以通過NSTimer類的- (void)invalidate;取消執(zhí)行

三、sleep方式:

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

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

四、GCD方式:

復(fù)制代碼 代碼如下:
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.特點(diǎn): 此方式可以在參數(shù)中選擇執(zhí)行的線程。 是一種非阻塞的執(zhí)行方式,沒有找到取消執(zhí)行的方法。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論