黑馬程序員-4.代理(delegate)

    在iOS開發中經常要在兩個類之間進行通信,比如常見的時當一個View數據修改之後,需要在view的controller上做點壞事,這個時候就需要使用代理,一般代理都配合協議使用。

在定義協議時,可以通過@required與@optional來配置遵守這個協議必須去實現的方法和可以選擇的方法。

例如:

A類的事件需要通知B類,B成爲A的代理

A類中寫一個協議

@protocol XXDelegate <NSObject>
@optional
-(void) function_name:()A類
@interface A類
@property (nonatomic,weak) id <XXDelegate> delegate
@end


在事件中調用

if([self.delegate respondToSelector:@selector(function_name:)]){
[self.delegate function_name:self];
}


在B類中聲明 <XXDelegate>

實現function_name 方法


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章