最近学习了延迟执行的几种方法,分享一下:
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延迟执行方法详解,包括了iOS延迟执行方法详解的使用技巧和注意事项,需要的朋友参考一下 近日学习了延迟执行的几种方法,分享一下。 1.performSelector(NSObject)方法 2.NSTimer方法 3.GCD方法 4.sleep(NSThread)方法 延迟执行代码: 1.performSelector(NSObject)方法 这是iOS中常用的一种延迟执
本文向大家介绍iOS中延时执行的几种方式比较及汇总,包括了iOS中延时执行的几种方式比较及汇总的使用技巧和注意事项,需要的朋友参考一下 前言 在开发过程中,我们有时会希望把一些操作封装起来延迟一段时间后再执行。本文列举了四种延时执行某函数的方法及其一些区别。假如延时1秒时间执行下面的方法。 1.performSelector方法 这是iOS中常用的一种延迟执行方法. 此方式要求必须在主线程中执行,
本文向大家介绍IOS开发中延迟执行和取消,包括了IOS开发中延迟执行和取消的使用技巧和注意事项,需要的朋友参考一下 在 Objective-C 中延迟执行还是很常见的需求,通常有如下几种方式可供选择: performSelector: 想要延迟调用某个方法: [self performSelector:@selector(delay) withObject:nil afterDelay:3.0];
本文向大家介绍jQuery延迟执行的实现方法,包括了jQuery延迟执行的实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery延迟执行的实现方法。分享给大家供大家参考,具体如下: 做一个控件时碰到的一些无法同步处理的事件,可以用这样的延迟方法。 更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery日期与时间操作技巧总结》、《jQuery切换特效与技巧总结》
本文向大家介绍横向对比分析Python解析XML的四种方式,包括了横向对比分析Python解析XML的四种方式的使用技巧和注意事项,需要的朋友参考一下 在最初学习PYTHON的时候,只知道有DOM和SAX两种解析方法,但是其效率都不够理想,由于需要处理的文件数量太大,这两种方式耗时太高无法接受。 在网络搜索后发现,目前应用比较广泛,且效率相对较高的ElementTree也是一个比较多人推荐的算法,
本文向大家介绍Android延迟实现的几种解决方法及原理分析,包括了Android延迟实现的几种解决方法及原理分析的使用技巧和注意事项,需要的朋友参考一下 前言 在Android开发中我们可能会有延时执行某个操作的需求,例如我们启动应用的时候,一开始呈现的是一个引导页面,过了两三秒后,会自动跳转到主界面。这就是一个延时操作。 而写这篇文章的目的,是看到群里有人在实现延迟的时候,用如下的第四种方法,