1)運作循環:
運作循環在 iOS 開發中幾乎不用,但是概念的了解卻非常重要。
同一個方法中的代碼一般都在同一個運作循環中執行,運作循環監聽 UI 界面的修改事件,待本次運作循環結束時,統一将界面的修改渲染出來。
點選事件觸發結束後立即結束本次運作循環。
作用:
保證程式不退出。
負責監聽所有事件,例如:手勢觸摸,時鐘觸發,網絡加載資料完成等。
特性:
沒有事件時,會休眠(省電),一旦監聽到事件,會立即響應。
每一個線程都有一個 runloop,但是隻有主線程的 runloop 會預設啟動。子線程的運作循環預設是不啟動的。
2)子線程運作循環:
子線程的運作循環預設是不啟動的。
啟動運作循環後,如果不停止運作循環,不會執行後續的任何代碼,會形成一個死循環。
一旦停止了運作循環,後續代碼能夠執行,執行完畢後,線程被自動銷毀。
3)響應者鍊條事件監聽過程:

以 NSRunLoopCommonModes 方式建立
以 NSDefaultRunLoopMode 方式建立
子線程運作循環