委托模式
两个对象之间不能够直接联系,需要通过一个第三方对象帮助他们联系,这一种模式,我们称之为‘委托模式’。
协议:方法的列表
‘房东’—委托—>’中介’—卖房—>’消费者’
Landlord *landlord = [Landlord new];
HouseSaler *houseSaler = [HouseSaler new];
//把中介当成委托者
landlord.delegate = houseSaler;
//把房主当成
houseSaler.landlord = landlord;
//Landlord.h
//这里使用assign 或者 weak 是为了防止循环引用
@property(nonatomic,assign)id< Landlord_Protocol >delegate;
-(void)registerHouse;
//Landlord.m
-(void)registerHouse{
NSLog(@”我是房东,我已经。。。”);
//如果委托存在,并且遵循指定协议
if (self.delegate && [self.delegate conformsToProtocol:@protocol(Landlord_Protocol)]){
[self.delegate mustSaleHouse];
[self.delegate payMoney];
}
}