iOS 委託 協議

2021-07-11 11:25:11 字數 947 閱讀 3374

委託一般都是下級委託上級  上級來獲取下級的一些資訊,是訊息傳遞的一種形式。委託傳的引數,是要傳出去的資料,在設定委託物件的類裡的委託協議方法的引數就是委託傳的資料。

1.在下級的標頭檔案裡建立委託delegate,一般都是類名加delegate的名字。在下級的類裡設定委託,在下級實現的類裡需要傳資料出去的時候呼叫委託,把資料當成委託方法的引數。如下:

#import

#pragma mark 協議遊戲結束觸發的方法用來改變監聽結束的方法

@protocol numbergameviewcontrollerdelegate

//遊戲結束的方法

-(void)gamedidfinished:(nsstring *)time;

@end

@inte***ce

numbergameviewcontroller : uiviewcontroller

#pragma mark 定義**

@property

(weak

,nonatomic

) id

delegate;

//這是存放隨機數的陣列

@property(nonatomic,strong)

nsmutablearray

*numbersarray;

在完成某些操作之後需要觸發協議的時候,呼叫協議的方法  如下  引數就是要穿的資料

[_delegate

gamedidfinished

:_showtime.

text];

2.在上級類裡設定delegate物件是自己,實現委託的協議方法,協議的方法的引數就是下級類裡呼叫的時候傳遞的引數。當下級走到呼叫委託方法的時候,即觸發了我們監聽的協議,獲取傳的資料來處理。  time就是下級呼叫協議的時候傳的資料。

-(void)gamedidfinished:(nsstring *)time

委託和協議

委託就是秘書委託是objc中使用非常頻繁的一種設計模式,它的實現與協議的使用是分不開的,讓我們看乙個綜合示例 小公司老闆日常的工作是管理公司 教導新員工 發工資與接 其中管理公司 教導新員工是老闆要親為的。而發工資與接 老闆希望招聘乙個秘書來幫忙,於是對秘書的要求就是要略懂出納發工資,要能幫助領導接...

iOS委託理解

定義 委託是指給乙個物件提供機會對另乙個物件中的變化做出反應或者影響另乙個物件的行為。個人理解 coding時,無論介面還是複雜的邏輯。從抽象的角度來說,可以分解成好多模組。比如有的模組負責顯示 有的模組負責資料處理等。我理解的委託就是負責a b兩個物件通訊用的。如 a b 可以通過將b作為a的變數...

ios程式設計思想 委託實現方式2 協議類方式

最近學習了一種新的委託實現方式,比起使用協議來說更為簡單 使用協議類的方式。協議類是我自己的叫法而已,其實就是乙個類,在類裡面定義需要幫其他類做的事情 方法 同樣的,需要再其他類定義乙個id,指向這個協議類。其實原理跟使用協議是大同小異的,但使用協議類的話,就不需要另外宣告協議和遵循協議,感覺簡單些...