OC中几种延时操作的比較
1. sleepForTimeInterval,此函数会卡住当前线程,一般不用
<span style="font-size:18px;">[NSThread sleepForTimeInterval:3];</span>
2. performSelector,定制好延迟任务后,不会卡主"当前线程"(3秒后运行download:方法)
<span style="font-size:18px;">[self performSelector:@selector(download:) withObject:@"http://555.jpg" afterDelay:3];</span>
3.3秒后回到"主线程"运行block中的代码
<span style="font-size:18px;">dispatch_queue_t queue = dispatch_get_main_queue();</span>
<span style="font-size:18px;"><span style="font-size:18px;">dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), queue, ^{
NSLog(@"------task------%@", [NSThread currentThread]);
}); dispatch_queue_t queue = dispatch_get_main_queue();
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), queue, ^{
NSLog(@"------task------%@", [NSThread currentThread]);
})</span>
4.3秒后自己主动开启"新线程"运行block中的代码
<span style="font-size:18px;">dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);</span>
<span style="font-size:18px;"><span style="font-size:18px;">dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), queue, ^{
NSLog(@"------task------%@", [NSThread currentThread]);
});</span>
OC中几种延时操作的比較的更多相关文章
- OC中两种单例实现方式
OC中两种单例实现方式 写在前面 前两天探索了一下C++ 的单例,领悟深刻了许多.今天来看看OC中的单例又是怎么回事.查看相关资料,发现在OC中一般有两种实现单例的方式,一种方式是跟C++ 中类似的常 ...
- OC中几种集合的遍历方法(数组遍历,字典遍历,集合遍历)
// 先分别初始化数组.字典和集合,然后分别用for循环.NSEnumerator枚举器和forin循环这三个方法来实现遍历 NSArray *array = @[@"yinhao" ...
- 执行Sqlserver中waitfor delay延时操作或waitfor time定时操作
private static string connectionString = RBAC.Dal.DataRootBase.ConnectionString; private SqlConnecti ...
- 对OpenCV中3种乘法操作的理解掌握
参考了<Opencv中Mat矩阵相乘——点乘.dot.mul运算详解 >“http://blog.csdn.net/dcrmg/article/details/52404580”的相关内容 ...
- oc 中四种实例变量的范围类型@private@protected@public@package
To enforce the ability of an object to hide its data, the compiler limits the scope of instance vari ...
- 记录php中一种骚操作
$options = array( 'config' => array( 'aaa' => 111, 'bbb' => 222, ), 'headers' => array( ...
- PS中10种样式操作
(1)投影:将为图层上的对象.文本或形状后面添加阴影效果.投影参数由“混合模式”.“不透明度”.“角度”.“距离”.“扩展”和“大小”等各种选项组成,通过对这些选项的设置可以得到需要的效果. (2)内 ...
- OC中四种遍历方式
标准的C语言for循环.Objective-C 1.0出现的NSEnumerator.Objective-C 1.0出现的for in快速遍历.块遍历. 遍历的话,一般是NSArray.NSDicti ...
- OC中的字符串常用方法
OC中的字符串常用方法 OC中对字符串进行操作使用了Foundation框架中的NSString类(不可变).NSMutableString类(可变). NSString 1.创建字符串 [objc] ...
随机推荐
- 【DB2】查看表空间对应的物理文件地址
使用的命令: db2 list tablespaces show detail db2 list tablespace containers for [Tablespace ID] [show det ...
- JUC-ReadWriteLock
ReadWriteLock 维护了一对相关的锁,一个用于只读操作,另一个用于写入操作.只要没有 writer,读取锁可以由多个 reader 线程同时保持.写入锁是独占的. ReadWriteLock ...
- mingw 构建 Geos
简述 在做某个小程序时候用到了QT,而用的Qt是mingw版本的,所以使用mingw构建了一下geos库. 1.准备工作 首先需要先安装好mingw,这里直接使用http://www.mingw-w6 ...
- 自己动手做——邮件客户端FrankMail
一.预备知识 二.需求分析 三.编码 四.交付 软件界面: 发送结果: --EOF--
- Git/Github的使用以及与Eclipse的整合
Git简介 Git是一个免费的.分布式的版本控制工具,或是一个强调了速度快的源代码管理工具.每一个Git的工作目录都是一个完全独立的代码库,并拥有完整的历史记录和版本追踪能力,不依赖于网络 ...
- 阿里云ecs配置辅助网卡绑定公网ip地址
EIP直通车 前置条件:1.大家的实例是从经典迁移到VPC里面的,上古时期,经典实例大家购买实例的时候都是买了带宽的.而这种带宽一般情况下都是包年包月的,而且这种绑定在实例上的IP,我们把它叫做公网I ...
- oracle加密-des 简单举例.
Declare v_seed Raw(128); v_key_1 Raw(64); v_key_2 Raw(64); v_Text_for_encrypted Raw(64); v_mw ...
- linux下开启https
1.在线安装mod_ssl yum -y install mod_ssl 查看openssl 是否安装成功 rpm -qa |grep openssl 2.建立服务器密钥 openssl genrsa ...
- UIAlertView 点击按钮后控制其是否消失
新建NotDismissAlertView类,继承UIAlertView. 设置控制是否消失的标示符 重写 在-(void)dismissWithClickedButtonIndex:(NSInte ...
- class-dump在osx 10.11以后安装方法
当Mac升级了OSX 10.11后,配置class-dump的时候,会发现逆向书上推荐的class-dump存放目录/usr/bin,class-dump存放不进去,尝试过用sudo 还是不被允许 ...