1.NSDefaultRunLoopMode 這是大多數操做中使用的模式。 2.NSConnectionReplyMode 該模式用來監控NSConnection對象。你一般 不須要在你的代碼中使用該模式。 3.NSModalPanelRunLoopMode Cocoa使用該模式來標識modalpanel(模 態面板)的事件。 4.NSEventTracking(UITrackingRunLoopMode) Cocoa使用該模式來處 理用戶界面相關的事件。 5.NSRunLoopCommonModes 這是一組可配置的通用模式。將input sources與該模式關聯則同時也將input sources與該組中的其它模式進行了 關聯。對於Cocoa應用,該模式缺省的包含了default,modal以及event tracking模式。
一個常見的問題就是,主線程中一個NSTimer添加在default mode中, 當界面上有一些scroll view的滾動頻繁發生致使run loop運行在UItraking mode中, 從而這個timer沒能如指望那般的運行。 因此,咱們就能夠把這個timer加到NSRunLoopCommonModes中來解決(iOS中)。 定時器是讓程序定時執行某一個方法:html
/*
ios
* scheduledTimerWithTimeInterval: 間隔時間(秒)
* target: 所要應用定時器的對象
* selector: 調用的方法
* userInfo: 所要傳遞的參數
* repeats: 是否重複調用
*/
[NSTimer scheduledTimerWithTimeInterval:1
target:self selector:@selector(timerAction:) userInfo:@"參數" repeats:YES];objective-c
能夠點擊下列網址詳細瞭解....(可是現階段因爲還有一些知識點是在後面纔講到,沒有一些知識的鋪墊,看這些文章的時候,有些吃力,因此看到有些不理解的時候,暫時不要太鑽)框架
NSRunLoop參考資料2.net