1.first responser是response chain中的第一響應者,若是該響應者可以執行此響應(action),則次相遇不會繼續在響應鏈中向上層傳遞,若是不能則會繼續在響應鏈中繼續傳遞,直到完成(可能最後也不能響應) spa
2.protocol實現的deleagere,這個就是1對1的傳遞某個action 設計
3.通知就是1對多的傳遞某個action(至關於訂閱) 對象
那麼區別在哪裏呢? io
1.我的以爲若是是D-》B這樣的從下到上的調用,那麼能夠使用delegate im
2.若是是E->F,F->E這樣的調用,最好用通知機制,由於你很難獲取到你通知對象的實例,就算可以,你的設計上也會很雜亂 img
3.若是是D-》A這樣的調用,最好就用到response chain,固然也能夠用通知,可是通知是1對多的,若是其餘人恰好也使用了,那麼就可能和你當初的設計初衷就不同了,若是使用的是first responser,那麼你的響應只會在你當前的response chain中傳遞,不會傳遞到未知的地方去了。特別是在你的層級之間很複雜或者根本沒法判斷出中間層級有什麼界面的時候,response chain就是一種很好的設計方式了 view