IOS延时执行函数详解
来源:互联网 发布:台企怎么样知乎 编辑:程序博客网 时间:2024/05/17 05:11
目前所知ios延时函数有如下四种:
1、performSelector方法
[self performSelector:@selector(delayFun) withObject:nil afterDelay:1.0f];
此方法以非阻塞的方式执行,且必须在主线程中执行,否则无效。该方法暂时未找到取消执行的方法。
2、定时器:NSTimer
[NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(delayFun) userInfo:nil repeats:NO];
此方法以非阻塞的方式执行,且必须在主线程中执行,否则无效。可以通过NSTimer类的- (void)invalidate;取消执行。
3、 sleep方式
[NSThread sleepForTimeInterval:1.0f];
[self delayFun];
此方法以阻塞的方式执行,建方放到子线程中,以免卡住界面,且在任意线程中均可执行。没有找到取消执行的方法。
4.GCD方式
double delayInSeconds = 5.0;
__block ViewController* bself = self;
dispatch_time_t delayTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
dispatch_after(delayTime, dispatch_get_main_queue(), ^(void){
[bself delayFun]; });
此方法以非阻塞的方式执行,且在任意线程中均可执行。没有找到取消执行的方法。
0 0
- IOS延时执行函数详解
- iOS延时执行方法
- javascript 延时执行函数
- ios UIAlterController的使用---注意presentViewController函数一定要延时执行
- iOS 延时执行方法 performSelector
- iOS 延时执行(OC)
- iOS 延时执行的方法
- iOS常见的延时执行
- iOS 延时执行的方法
- IOS 四种延时执行
- Systick 延时函数详解
- Delay_ms延时函数详解
- Unity3D 延时执行函数StartCoroutine
- Lua封装延时执行函数
- js 延时执行某函数
- Angular4_设置延时执行函数
- iOS延时执行的几种方法
- iOS 延时执行的四种方法
- 菜鸟学c++ 多文件结构
- 如何让你的web具备权限认证
- DLL入门浅析(4)——从DLL中导出类
- struts2的Action(四)
- 【UNET自学日志】Part12 僵尸
- IOS延时执行函数详解
- Struts2 **-validation.xml <param name="expression">正则验证不起作用
- c语言 统计数组中不同字符的个数
- iOS开发系列--通讯录、蓝牙、内购、GameCenter、iCloud、Passbook系统服务开发汇总
- virbr0 虚拟网卡最新关闭方法
- MySQL中批量删除指定前缀表的sql语句
- win7彻底解决COM端口被占用(在使用中)问题的办法
- MYSQL下载及重装的步骤
- DLL入门浅析(5)——使用DLL在进程间共享数据