2010-10-13 88 views

回答

5

與許多其他GUI系統一樣,您爲iPhone應用程序編寫的代碼會運行到由系統提供的循環中。當編寫一個沒有GUI的程序時,習慣上有一個main()函數或類似的函數。在iPhone上你並沒有這個,因爲它是由系統提供的,它會調用事件循環。你所提供的只是迴應事件。

該循環負責將硬件事件視爲觸及等,調用您的代碼和API代碼來繪製窗口,一些內存管理等等。這就是爲什麼你永遠不必自己爲這些事件投票。

1

我覺得這個蘋果文檔將說明了一點:

事件循環是一個簡單的運行循環:調度工作,協調接收從連接到運行各種輸入源事件的事件處理循環循環。每個線程都可以訪問運行循環。除了主線程外,運行循環必須由代碼手動配置和運行。在Cocoa應用程序中,主線程的運行循環(主事件循環)由應用程序對象自動運行。主要事件循環的區別在於其主要輸入源從用戶操作生成的操作系統接收事件,例如點擊視圖或使用鍵盤輸入文本。

https://developer.apple.com/library/ios/documentation/General/Conceptual/Devpedia-CocoaApp/MainEventLoop.html