您的位置:首页 > 移动开发 > IOS开发

iOS开发设计模式之代理

2016-03-01 22:48 190 查看
代理设计模式

代理设计模式,也称“委托”,顾名思义就是委托别人去做事情
在代理模式中,一方称为委托方,另一方称为代理方。
委托方和代理方通过协议联系到一起。
当委托方想要让代理方做事情时只需向代理发送代理消息




代理的作用:
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];
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iOS App Xcode