響應鏈:
當事件發生的時候,響應鏈首先被發送給第一個響應者(往往是事件發生的視圖,也就是用戶觸摸屏幕的地方)。事件將沿著響應者鏈一直向下傳遞, 直到被接受并作出處理。一般來說,第一響應這是個視圖對象或者其子類,當其被觸摸后事件就交由它處理,如果他不處理,時間就會被傳遞給視圖控制器對象UIViewController(如果存在),然后是它的父視圖對象(superview),以此類推知道頂層視圖。接下來會沿著頂層視圖(top view)到窗口(UIwindow 對象) 再到程序的(UIApplication對象),如果整個過程都沒有響應這個事件,則該事件被丟棄,一般情況下,在響應鏈中只要有對象處理事件,事件就會被傳遞。
典型的響應路線圖如:
First? Responser --> The Window -->The Applicationn --> App Delegate
正常的響應者鏈流程經常被委托打斷,一個對象可能將響應工作委托給另一個對象來完成(通常是視圖控制器viewcontroller)。