天天看点

iOS - OC RunLoop 运行循环/消息循环1、RunLoop2、运行循环的使用

1)运行循环:

运行循环在 iOS 开发中几乎不用,但是概念的理解却非常重要。

同一个方法中的代码一般都在同一个运行循环中执行,运行循环监听 UI 界面的修改事件,待本次运行循环结束时,统一将界面的修改渲染出来。

点击事件触发结束后立即结束本次运行循环。

作用:

保证程序不退出。

负责监听所有事件,例如:手势触摸,时钟触发,网络加载数据完成等。

特性:

没有事件时,会休眠(省电),一旦监听到事件,会立即响应。

每一个线程都有一个 runloop,但是只有主线程的 runloop 会默认启动。子线程的运行循环默认是不启动的。

2)子线程运行循环:

子线程的运行循环默认是不启动的。

启动运行循环后,如果不停止运行循环,不会执行后续的任何代码,会形成一个死循环。

一旦停止了运行循环,后续代码能够执行,执行完毕后,线程被自动销毁。

3)响应者链条事件监听过程:

iOS - OC RunLoop 运行循环/消息循环1、RunLoop2、运行循环的使用

以 NSRunLoopCommonModes 方式创建

以 NSDefaultRunLoopMode 方式创建

子线程运行循环

继续阅读