代理模式就是: 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(@“照顾宝宝”);
// 一个简单的打印
}
菜鸟一只,有错误欢迎指出