在Agency.h中,
通过@property (nonatomic,assign) id <RentHouseDelegate> delegate;
定义一个变量,这个变量是任意的对象类型,这个对象的限制是服从于这个协议的。(它用来代表 小王、小李等中介个体变量)
从而在方法集合在协议中的基础上(弥补了第一个缺点),弥补了代理每次写一遍的麻烦(蓝框的第一个缺点)。
在Agency.m文件中,进行检测是否实现选择方法:
if ([self.delegaterespondsToSelector:@selector(sendQQ:)]) {
[self.delegatesendQQ:@"useQQ"];
}
//self(Agency)的delegate(当前中介),是否使用sendQQ的方法
代理模式: 1.协议名以<....delegate> 2.谁要做这件事协议定义在哪里 3.任意的对象类型
附件链接:http://pan.baidu.com/s/1bnjUVSF