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

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

歡迎使用CSDN-markdown編輯器

2019-11-09 17:44:40
字體:
供稿:網(wǎng)友

本文轉(zhuǎn)載自http://blog.csdn.net/chenyong05314/article/details/24695897

本文列舉了四種延時執(zhí)行某函數(shù)的方法及其一些區(qū)別。假如延時1秒時間執(zhí)行下面的方法。

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

performSelector方法[self performSelector:@selector(delayMethod) withObject:nil afterDelay:1.0f]; 此方式要求必須在主線程中執(zhí)行,否則無效。 是一種非阻塞的執(zhí)行方式, 暫時未找到取消執(zhí)行的方法。

定時器:NSTimer [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(delayMethod) userInfo:nil repeats:NO]; 此方式要求必須在主線程中執(zhí)行,否則無效。 是一種非阻塞的執(zhí)行方式, 可以通過NSTimer類的- (void)invalidate;取消執(zhí)行。

sleep方式 [NSThread sleepForTimeInterval:1.0f]; [self delayMethod]; 此方式在主線程和子線程中均可執(zhí)行。 是一種阻塞的執(zhí)行方式,建方放到子線程中,以免卡住界面 沒有找到取消執(zhí)行的方法。

GCD方式 double delayInSeconds = 1.0; __block ViewController* bself = self; dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)); dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ [bself delayMethod]; }); 此方式在可以在參數(shù)中選擇執(zhí)行的線程。 是一種非阻塞的執(zhí)行方式, 沒有找到取消執(zhí)行的方法。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 凯里市| 罗平县| 胶州市| 偃师市| 重庆市| 元阳县| 新巴尔虎右旗| 聂拉木县| 嫩江县| 黄平县| 博白县| 丰都县| 临高县| 莒南县| 延吉市| 延安市| 九寨沟县| 广西| 上思县| 合肥市| 洛川县| 承德市| 沅江市| 张掖市| 合肥市| 义乌市| 宣城市| 永吉县| 芜湖县| 深水埗区| 靖宇县| 绿春县| 靖安县| 怀仁县| 千阳县| 翁牛特旗| 内乡县| 凤凰县| 盐津县| 平塘县| 韩城市|