天天看點

iOS - OC RunLoop 運作循環/消息循環1、RunLoop2、運作循環的使用

1)運作循環:

運作循環在 iOS 開發中幾乎不用,但是概念的了解卻非常重要。

同一個方法中的代碼一般都在同一個運作循環中執行,運作循環監聽 UI 界面的修改事件,待本次運作循環結束時,統一将界面的修改渲染出來。

點選事件觸發結束後立即結束本次運作循環。

作用:

保證程式不退出。

負責監聽所有事件,例如:手勢觸摸,時鐘觸發,網絡加載資料完成等。

特性:

沒有事件時,會休眠(省電),一旦監聽到事件,會立即響應。

每一個線程都有一個 runloop,但是隻有主線程的 runloop 會預設啟動。子線程的運作循環預設是不啟動的。

2)子線程運作循環:

子線程的運作循環預設是不啟動的。

啟動運作循環後,如果不停止運作循環,不會執行後續的任何代碼,會形成一個死循環。

一旦停止了運作循環,後續代碼能夠執行,執行完畢後,線程被自動銷毀。

3)響應者鍊條事件監聽過程:

iOS - OC RunLoop 運作循環/消息循環1、RunLoop2、運作循環的使用

以 NSRunLoopCommonModes 方式建立

以 NSDefaultRunLoopMode 方式建立

子線程運作循環

繼續閱讀