iOS delegate的優勢及缺點

2021-08-08 16:26:13 字數 988 閱讀 6263

//

聯絡人:

石虎暱稱

:嗡嘛呢叭咪哄

一、

delegate優勢

1.

非常嚴格的語法。所有將聽到的事件必須是在

delegate

協議中有清晰的定義。

2.如果

delegate

中的乙個方法沒有實現那麼就會出現編譯警告/錯誤

3.協議必須在

controller

的作用域範圍內定義

4.在乙個應用中的控制流程是可跟蹤的並且是可識別的;

5.在乙個控制器中可以定義定義多個不同的協議,每個協議有不同的

delegate

6.沒有第三方物件要求保持

/監視通訊過程。

7.能夠接收呼叫的協議方法的返回值。這意味著

delegate

能夠提供反饋資訊給

controller

二、

delegate

缺點

1.需要定義很多**:

1.協議定義;

2.controller

的delegate

屬性;3.

在delegate

本身中實現

delegate

方法定義

2.在釋放**物件時,需要小心的將

delegate

改為nil

。一旦設定失敗,那麼呼叫釋放物件的方法將會出現記憶體

crash

3.在乙個controller

中有多個delegate

物件,並且delegate

是遵守同乙個協議,但還是很難告訴多個物件同乙個事件,不過有可能。

謝謝!!!

ios delegate的語法注意

1 屬性或者成員變數中不能加括號 property nonatomic,weak id delegate 這個寫法中id不能加小括號,比如 id 語法是不正確的。2 在作為函式引數中需要加小括號 ios中函式引數的型別是用小括號的,所以delegate的尖括號外也需要有小括號 比如下面 1 nsst...

Spring的作用及優勢

spring的作用及優勢 spring用於整合,好處是解耦。解耦,可以降低元件不元件之間的關聯,改善程式結構,便於系統的維護和擴充套件。我們在使用spring框架時,主要是使用spring容器的兩個特性 ioc和aop。iocioc全稱inverse of control 反向控制戒控制反轉 在類和...

git的簡介及優勢

git是目前世界上最先進的 分布式版本控制系統 了解一下git的出身吧故事是這樣的 很多人都知道,linus在1991年建立了開源的linux,從此,linux系統不斷發展,已經成為最大的伺服器系統軟體了。linus雖然建立了linux,但linux的壯大是靠全世界熱心的志願者參與的,這麼多人在世界...