国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

對比分析iOS延遲執行的4種方式

2019-10-21 18:51:00
字體:
來源:轉載
供稿:網友

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

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.特點: 此方式可以在參數中選擇執行的線程。 是一種非阻塞的執行方式,沒有找到取消執行的方法。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 磐石市| 佛坪县| 绍兴市| 南部县| 昌吉市| 宕昌县| 柏乡县| 桑日县| 阳春市| 灵丘县| 红河县| 江华| 宁乡县| 乌兰浩特市| 普洱| 湘西| 滨州市| 济源市| 石台县| 通渭县| 华蓥市| 凤城市| 吴桥县| 临桂县| 漠河县| 西昌市| 额尔古纳市| 深州市| 原平市| 平南县| 鄂伦春自治旗| 博乐市| 曲周县| 和平区| 齐河县| 赤壁市| 彩票| 双牌县| 临城县| 镇赉县| 田阳县|