您好,登錄后才能下訂單哦!
代理設計模式
代理設計模式,也稱“委托”,顧名思義就是委托別人去做事情
在代理模式中,一方稱為委托方,另一方稱為代理方。
委托方和代理方通過協議聯系到一起。
當委托方想要讓代理方做事情時只需向代理發送代理消息
代理的作用:
1)對象間傳遞事件 :孩子告訴媽媽餓了
2)對象間傳遞數值 :告訴媽媽餓了的同時告訴想吃什么
代理方法中使用參數
3)為自身的屬性賦值 :孩子告訴媽媽餓了同時要得到媽媽做的食物
代理方法中使用返回值
代理設計模式的使用步驟
委托方:提出代理協議
@protocol AMViewDelegate <NSObject> @optional - (void) view:(AMView*) view detailInfoWithState:(BOOL) state; @end
2. 委托方:添加代理對象屬性
@interface AMView : UIView @property (nonatomic, weak) id<AMAppViewDelegate> delegate;
3. 代理方:遵循代理協議
@interface ViewController() <AMAppViewDelegate>
4. 代理方:成為委托方的代理者
view.delegate = self;
5. 代理方:實現代理方法
- (void) view:(AMView*) view detailInfoWithState:(BOOL) state { //... }
6. 委托方:通過代理屬性調用代理方法
- (IBAction) nameBtnClicked:(id) sender { if ( self.delegate && [self.delegate respondsToSelector:@selector(view:detailInfoWithState:] ) { [self.delegate view:self detailInfoWithState:NO]; } }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。