委託的意義在於實現多型;在於讓物件能夠在程式執行時滿足外界對其的改變。
(1)乙個物件屬性、動作,如果在編譯時就能確定,可以在這個物件的類裡面來實現。
(2)乙個物件的屬性、動作,如果在執行時才能確定,則只能通過這個物件的委託來實現。
換句話說:類,滿足編譯時對物件的設定和要求。委託,用於滿足執行時對物件的設定和要求。
舉個例子:uitableview 的乙個例項物件 tableview。
當然,那些只有在執行時才能確定的方面,我們只能在類的委託中實現(因為在編譯的時候,我們無法確定其狀態是怎樣的)。如下面這些:
以上,就是對委託的全部理解。如果看著還不過癮,我們可以通過如下篇幅,窺視一下蘋果公司是如何設計tableview的。
蘋果公司設計tableview在編譯時就要確定的方面包括:==uitableview class reference
property
property
property
property
property
property
property
property
property
property
property
property
property
property
property
property
property
property
property
property
property
property
property
property
蘋果公司設計tableview在執行時才能確定的方面包括:==uitableviewdelegate protocol reference
deprecated in ios 3.0
numpy bincount 通俗易懂
bincount的用途很簡單,就是統計出乙個列表的各個元素的出現次數。例如輸入是 1,0,2,2,1,2,3,5 那麼輸出就是 1,2,3,1,0,1 這樣的結果可能並不是很直觀,可能依然會有同學會問為什麼會輸出這樣的結果。我們看看 假如我們把輸入的列表中的數字都統計一遍,形成乙個字典 key是列表...
通俗易懂的理解MVC模式
mvc由view檢視,controller控制器,model模型三部分組成。當使用者與view進行互動的時候,會觸發view的一些事件,這些事件會被controller模組監聽到,controller會根據不同的使用者事件去呼叫model層的一些介面,通過這些介面修改model層的資料。在之前vie...
通俗易懂的來理解Iaas,Paas,SaaS
首先我們先來了解一下這幾個單詞的意思和完全的英文 iaas infrastructure as a service 基礎設施即服務 paas platform as a service 平台即服務 saas sofware as a service 軟體基服務 怎麼說,看這幾個上面的單詞是不是看的一...