您的位置:首页 > 运维架构

Runloop

2015-08-31 18:06 232 查看
  Run Loop就是一个事件处理的循环,用来不停的调动工作以及处理输入事件。使用Run Loop的目的就是节省CPU效率,线程在有工作的时候忙于工作,而没工作的时候处于休眠状态。

  理解对按钮添加事件这个操作[btn addTarget:self action:@selector:(btnClicked) forcontrollEvents:UIControllEventTouchUpInside];





程序刚启动的时候会创建一个application 对象,之后会创建runloop,所有的事件都是由runloop对象监听的。
当btn添加到subviews中后,我们会添加btn的点击事件,这个事件是在控制器中添加的,控制器会在runloop中注册事件。

用户点击按钮以后会通知application对象,它一次往下查找,--uiwindow—rootviewcontroller—view—subviews—btn,当确定是btn最合适处理这个点击事件的时候,btn会去往上查找响应者,subviews—view—rootviewcontroller—uiwindow—runloop,然后在runloop里边找到btn注册的事件。然后进行处理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: