浅谈iOS延迟执行的几种方式以及比较
来源:互联网 发布:windows键的用途 编辑:程序博客网 时间:2024/04/30 11:45
一、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开发中方法延迟执行的几种方式
- 浅谈iOS开发中方法延迟执行的几种方式(转载)
- 浅谈iOS开发中方法延迟执行的几种方式
- 浅谈iOS开发中方法延迟执行的几种方式
- 浅谈iOS开发中方法延迟执行的几种方式
- 浅谈iOS开发中方法延迟执行的几种方式
- iOS开发中方法延迟执行的几种方式
- iOS开发 方法延迟执行的几种方式
- iOS开发中方法延迟执行的几种方式
- iOS开发中方法延迟执行的几种方式
- iOS开发中方法延迟执行的几种方式
- iOS 开发中方法延迟执行的几种方式
- iOS 延迟执行的几种方法
- iOS --延迟执行的几种方法
- IOS中延时执行的几种方式的比较
- IOS延时执行的几种方式比较
- ios延迟的几种方式
- linux中curl命令使用小结
- 轮播图实现
- 八大排序学习之六快速排序
- 手机升级到iOS10之后,用xcode8以下的怎样解决真机调试的问题
- android起始页面与Handler(异步线程处理)
- 浅谈iOS延迟执行的几种方式以及比较
- fopen与fopen_s的区别
- 公式编辑器中有几种不同的省略号
- 《汇编语言》学习(十一)标志寄存器
- 本地 Mac 搭建 IPv6 测试环境
- PHP中fopen,file_get_contents,curl函数的区别和性能
- Intellij IDEA的Facets和Artifacts
- C# ToolStrip浮动工具栏及上/下/左/右 停靠
- build.gradle配置记录一