iOS开发设计模式之代理
2016-03-01 22:48
190 查看
代理设计模式
代理设计模式,也称“委托”,顾名思义就是委托别人去做事情
在代理模式中,一方称为委托方,另一方称为代理方。
委托方和代理方通过协议联系到一起。
当委托方想要让代理方做事情时只需向代理发送代理消息
代理的作用:
1)对象间传递事件 :孩子告诉妈妈饿了
2)对象间传递数值 :告诉妈妈饿了的同时告诉想吃什么
代理方法中使用参数
3)为自身的属性赋值 :孩子告诉妈妈饿了同时要得到妈妈做的食物
代理方法中使用返回值
代理设计模式的使用步骤
委托方:提出代理协议
代理设计模式,也称“委托”,顾名思义就是委托别人去做事情
在代理模式中,一方称为委托方,另一方称为代理方。
委托方和代理方通过协议联系到一起。
当委托方想要让代理方做事情时只需向代理发送代理消息
代理的作用:
1)对象间传递事件 :孩子告诉妈妈饿了
2)对象间传递数值 :告诉妈妈饿了的同时告诉想吃什么
代理方法中使用参数
3)为自身的属性赋值 :孩子告诉妈妈饿了同时要得到妈妈做的食物
代理方法中使用返回值
代理设计模式的使用步骤
委托方:提出代理协议
@protocol AMViewDelegate <NSObject> @optional - (void) view:(AMView*) view detailInfoWithState:(BOOL) state; @end2. 委托方:添加代理对象属性
@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]; } }
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 个人信息安全报告发布:有 APP 每分钟调用位置权限 1468 次
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- 下载量超过一亿的流行应用被发现含有恶意模块
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 苹果与Siri的七年之痒:“宫斗”戏码不断上演
- APP添加CNZZ统计插件教程 Android版添加phonegap
- Android APP与媒体存储服务的交互
- java实现收藏名言语句台词的app
- 修改Android App样式风格的方法
- Android App数据格式Json解析方法和常见问题
- 讲解iOS开发中基本的定位功能实现
- iOS中定位当前位置坐标及转换为火星坐标的方法
- js判断客户端是iOS还是Android等移动终端的方法
- iOS应用中UISearchDisplayController搜索效果的用法
- IOS开发环境windows化攻略