Runloop
2015-08-31 18:06
232 查看
Run Loop就是一个事件处理的循环,用来不停的调动工作以及处理输入事件。使用Run Loop的目的就是节省CPU效率,线程在有工作的时候忙于工作,而没工作的时候处于休眠状态。
理解对按钮添加事件这个操作[btn addTarget:self action:@selector:(btnClicked) forcontrollEvents:UIControllEventTouchUpInside];
![](http://images2015.cnblogs.com/blog/345095/201508/345095-20150831180544138-1191543349.png)
程序刚启动的时候会创建一个application 对象,之后会创建runloop,所有的事件都是由runloop对象监听的。
当btn添加到subviews中后,我们会添加btn的点击事件,这个事件是在控制器中添加的,控制器会在runloop中注册事件。
用户点击按钮以后会通知application对象,它一次往下查找,--uiwindow—rootviewcontroller—view—subviews—btn,当确定是btn最合适处理这个点击事件的时候,btn会去往上查找响应者,subviews—view—rootviewcontroller—uiwindow—runloop,然后在runloop里边找到btn注册的事件。然后进行处理。
理解对按钮添加事件这个操作[btn addTarget:self action:@selector:(btnClicked) forcontrollEvents:UIControllEventTouchUpInside];
![](http://images2015.cnblogs.com/blog/345095/201508/345095-20150831180544138-1191543349.png)
程序刚启动的时候会创建一个application 对象,之后会创建runloop,所有的事件都是由runloop对象监听的。
当btn添加到subviews中后,我们会添加btn的点击事件,这个事件是在控制器中添加的,控制器会在runloop中注册事件。
用户点击按钮以后会通知application对象,它一次往下查找,--uiwindow—rootviewcontroller—view—subviews—btn,当确定是btn最合适处理这个点击事件的时候,btn会去往上查找响应者,subviews—view—rootviewcontroller—uiwindow—runloop,然后在runloop里边找到btn注册的事件。然后进行处理。
相关文章推荐
- 解决Tomcat服务器访问链接数过大的问题
- Linux运维工程师入门须掌握的10个技术点
- 【转】nginx+iis实现负载均衡
- VS2013 Cannot find or open the PDB file
- 从学习到接单赚钱 十大网络技术人员推荐收藏的网站
- Linux下使用nexus搭建maven私服
- shell使用(1)筛选日志内容&重新执行删除操作
- CentOS 7 下 ifconfig command not found 解决办法
- 大型网站图片服务器架构的演进
- 测试Nginx对PHP的解析功能--查看PHP安装配置以及功能列表统计信息
- 详解Linux内核之双向循环链表
- linux sh脚本启动异常/bin/sh^M: bad interpreter: No such file or directory
- hadoop 数据采样
- Linux 之安装文件
- Linux Back Light driver
- CentOS7下安装JDK1.7
- [转]Web性能压力测试工具之ApacheBench(ab)详解
- Openssl简易安装
- LinuxCon 2015 亮点回顾
- 如何快速提高网站关键词排名(实战篇)