代理模式
来源:互联网 发布:mysql数据库同步工具 编辑:程序博客网 时间:2024/05/16 23:55
代理模式就是: A 完成一件事,但是他自己不能实现,于是他找 B 完成这件事,A与 B 之间有个协议,B 遵守协议来完成A交代的事.
举例说明:
// 妈妈类
.h文件
1.协议的声明:
@protocol LookAfter
// 必须实现的方法
@required
- (void)TakeCareBaby():
@end
2.设置代理人对象:保姆
@interface Mother: NSObject
//设置代理人
// 定义一个代理人属性 使得他遵守协议
@property (nonatomic,assign) idnanny;
// 妈妈想干的事.
- (void)play;
@end
.m 文件
// 妈妈类的实现
@implementation Mother
- (void)play
{
// 让代理人调用协议中的方法
// 妈妈 让保姆调用 协议中的方法:照顾宝宝
[self.nanny TakeCareBaby];
// 保姆照顾孩子 自己就可以玩了
NSLog(@“play”);
}
// 保姆类
.h 文件
首先要导入协议所在的类,将协议写在了 Mother类中 导入 Mother
// 代理人签订协议
// 让保姆签订照顾宝宝的协议
@interface Nanny :NSObject
- (void)connection;
@end
.m 文件
@implementation Nanny
- (void) connection
{
// 创建一个妈妈对象
Mother *m = [Mother alloc] init];
// 妈妈的代理人是当前对象 即代理人保姆
m.nanny = self;
// 设置代理人保姆之后 妈妈就可以玩了
[m play];
}
- (void)LookAfterBaby
{
// 代理人遵守协议 实现照顾宝宝的协议
NSLog(@“照顾宝宝”);
// 一个简单的打印
}
菜鸟一只,有错误欢迎指出
- 代理模式--动态代理
- 代理模式-静态代理
- 代理模式-静态代理
- 代理模式 & 动态代理
- 代理模式--静态代理
- 代理模式--动态代理
- 代理模式(动态代理)
- 代理模式-动态代理
- 代理模式-动态代理
- 代理模式动态代理
- 代理模式-静态代理
- 代理模式-动态代理
- 代理模式 -动态代理
- 代理模式---动态代理
- 代理模式-动态代理
- 代理模式--静态代理
- 代理模式!
- 代理模式
- Android Studio目录结构
- Android 自定义属性的使用
- 利用IKVM在C#中调Java程序(总结版)
- char c=128;printf("%d",c);问题
- android Bluetooth的实现蓝牙操作
- 代理模式
- iOS 的播放影片
- Matlab中读取txt文本文档
- c++中的异常捕捉try和catch
- Model类与ImageDownLoader
- Eclipse Android device Target unknown
- Jsp语法结构
- ubuntu下源码安装bochs
- View的事件体系