代理模式

来源:互联网 发布: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(@“照顾宝宝”);
    // 一个简单的打印

}

菜鸟一只,有错误欢迎指出

1 0
原创粉丝点击