**:
1.什麼是nsrunloop?
我們會經常看到這樣的**:
1
2
3
4
5
6
7
8
9
10
-(ibaction
)start
:(id
)sender
[progress sethidden
:yes];
} 2. nsrunloop工作原理
接下來看一下nsrunloop具體的工作原理,首先是官方文件提供的說法,看圖:
通過所有的「訊息」都被新增到了nsrunloop中去,而在這裡這些訊息並分為「input source」和「timer source」 並在迴圈中檢查是不是有事件需要發生,如果需要那麼就呼叫相應的函式處理。為了更清晰的解釋,我們來對比vc++和ios訊息處理過程。
vc++中在一切初始化都完成之後程式就開始這樣乙個迴圈了(**是從戶sir mfc程式設計課程的slides中擷取):
1
2
3
4
5
6
7
8
9
intapientry winmain
(hinstance hinstance
,hinstance hprevinstance
,lpstr lpcmdline
,intncmdshow
)}}1
2
3
4
5
6
7
(...
)... }
現在會過頭來看看剛才的那個會「暫停」**的例子,有沒有更加深入的認識了呢?
NSRunLoop概述和原理
1.什麼是nsrunloop?我們會經常看到這樣的 1 2 3 4 5 6 7 8 9 10 ibaction start id sender progress sethidden yes 2.nsrunloop工作原理 接下來看一下nsrunloop具體的工作原理,首先是官方文件提供的說法,看圖 ...
NSRunLoop概述和原理
1.什麼是nsrunloop?我們會經常看到這樣的 1 2 3 4 5 6 7 8 9 10 ibaction start id sender progress sethidden yes 2.nsrunloop工作原理 接下來看一下nsrunloop具體的工作原理,首先是官方文件提供的說法,看圖 ...
NSRunLoop 概述和原理
1.什麼是nsrunloop?我們會經常看到這樣的 ibaction start id sender progress sethidden yes 這段 很神奇的,因為他會 暫停 執行,而且程式執行不會因為這裡有乙個while迴圈而受到影響。在 progress sethidden no 執行之後,...