标签:
一、代理设计模式
person监控NextAgent的票价,这样就可以person不用改,而更改代理
1、person.h 代理 - (void)buyTicket @property(nonatomic,retain) id<TicketDelegate> delegate;//拥有一个代理属性,就必须遵守TicketDelegate协议
person.m - (void)bugTicket { double price = [_delegate ticketprice]; NSLog(@"通过代理的帮忙,票价%f",price);
}
2、TicketDelegate.h(协议) @protocol TicketDelegate<NSObject> - (void)bugTicket; @end
3、NextAgent.h @interface NextAgent : NSObject<TicketDelegate> //哪个要做代理都需要有这个协议 @end
NextAgent.m(代理实现) @implementation NextAgent - (double)ticketprice { return 500; }
标签:
原文地址:http://www.cnblogs.com/zhongxuan/p/4848538.html