讀古今文學網 > iOS編程基礎:Swift、Xcode和Cocoa入門指南 > 11.1 為何使用事件 >

11.1 為何使用事件

總的來說,接收到一個事件的原因可以分為4類。這種分類並不是正式的,而是我劃分的。通常,一個事件屬於哪個類別並不是特別明確的;一個事件可能屬於兩個類別。但這些事件類別對於搞清楚Cocoa與你的代碼交互的方式與原因還是頗具價值的。

用戶事件

用戶做了某個交互式的動作,事件就會直接被觸發。顯而易見的就是當用戶輕拍、滑動屏幕或是在鍵盤上輸入時所獲得的事件。

生命週期事件

這些事件用於通知你應用生命週期的某個階段到來了,比如,應用啟動或即將進入到後台;還可以通知你應用組件生命週期中的某個階段到來了,比如,UIViewController的視圖剛剛加載完畢或即將從界面中被移除。

功能性事件

Cocoa將要做某事,如果你想要提供額外的功能,那麼Cocoa就會將控制權交給你。我可以將諸如UIView的drawRect:(讓視圖繪製自身)、UILabel的drawTextInRect:(修改標籤的外觀)歸於此類,第10章曾對其做過介紹。

查詢事件

Cocoa會向你提問;其行為取決於你的答案。比如,數據出現在表格(UITableView)中的方式就是當Cocoa需要為表格的行添加單元格時,它會向你索要該單元格。