IOS GCD dispatch_after NSTimer 延迟加载
来源:互联网 发布:java xmpp即时通讯 编辑:程序博客网 时间:2024/06/15 05:36
- dispatch_after
比如我们经常会遇到延迟处理的任务,想在几秒后执行,也可能不仅限于几秒,总之这种想再指定时间处理后执行处理的情况,有两种办法一种是dispatch after和NSTimers处理。
dispatch_after(dispatch_time(DISPATCH_TIME_NOW(int64_t)(2ull*NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
});
第一个参数DISPATCH_TIME_NOW表示现在的时间
第二个参数是指定时间用的dispatch_time_t类型的值 (2ull*NSEC_PER_SEC) “ull“表示c语言数值的字面量,是显示表明类型时使用的字符串(表示unsigned long long)
NSEC_PER_SEC 表示秒
NSEC_PER_MSEC 表示毫秒
NSEC_PRE_USEC 表示微秒
第三个参数是指定要追加处理的dispatch queue
#warning mark -注意
1.不是一定时间后执行相应的任务,而是一定时间后,将执行的操作加入到队列中(队列里面再分配执行的时间)
2.比如主线程 RunLoop 1/60秒检测时间,追加的时间范围 3s~(3+1/60)s
2 .NSTimer 定时器
(1).把repeats改为NO;
NSTimer *timer = [NSTimer timerWithTimeInterval:时间 target:self selector:<方法名字> userInfo:nil repeats:NO];
( 2).需要用到runloop的知识有兴趣的同学可以去了解一下。
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode]
sad
3.类方法
- (void)performSelector:(SEL)aSelector withObject:(nullableid)anArgument afterDelay:(NSTimeInterval)delay inModes:(NSArray<NSRunLoopMode> *)modes;
- (void)performSelector:(SEL)aSelector withObject:(nullableid)anArgument afterDelay:(NSTimeInterval)delay;
+ (void)cancelPreviousPerformRequestsWithTarget:(id)aTarget selector:(SEL)aSelector object:(nullable id)anArgument;
+ (void)cancelPreviousPerformRequestsWithTarget:(id)aTarget;
三者的比较:gcd创建的不能控制,NSTimer 定时器可以控制可以销毁,具体的用法自己而定
- IOS GCD dispatch_after NSTimer 延迟加载
- 谈谈iOS延迟调用--对比NSTimer、performSelector和dispatch_after
- iOS GCD系列(一) dispatch_after;dispatch_apply;dispatch_once
- GCD中使用dispatch_after函数延迟处理任务
- ios NSTimer GCD定时器使用
- iOS开发之GCD(5)API dispatch_after
- GCD(dispatch_after)
- iOS 学习笔记 --- 定时器NSTimer、CADisplayLink、GCD
- GCD高级用法(一):dispatch_after
- GCD学习笔记(五):dispatch_after
- 【转】iOS延迟加载
- iOS延迟加载
- iOS学习笔记74-完整详解GCD系列(二)dispatch_after;dispatch_apply;dispatch_once
- [IOS]dispatch_after;dispatch_apply;dispatch_
- IOS dispatch_after的取消
- iOS:GCD进行延迟执行任务
- iOS--多线程GCD延迟执行--07
- iOS -- GCD之延迟与定时器
- matplotlib.pyplot 标记出曲线上最大点和最小点的位置
- java 实现WebService 以及不同的调用方式
- C#中使用设置(Settings.settings) Properties.Settings.Default .
- 大型的支付系统,如支付宝、财付通,后系统是如何对账、风控的呢
- android 简历
- IOS GCD dispatch_after NSTimer 延迟加载
- [转载]框架类和view互发消息
- python字典中文乱码,将其转换为json格式输出
- jQuery与ajax
- 腾讯2017暑假实习生编程题构造回文
- xcode7 倒腾ios 崩溃日志crash
- 安卓activity生命周期
- 1895: 985的0-1串难题
- HA高可用方案Sentinel配置