B:我爱你
A:我知道,可是我只爱他
B:那我会一直等你
B不知道要做备胎到什么时候
A也不知道什么时候被高富帅甩掉
当A被甩了之后就会调用delegate找回备胎B
恩,就酱。
A想监听B一些事情 A就是代理
A想告诉B一些事情 B就是代理
设计代理模式的六大步骤
1.定义代理协议, 协议名称格式:控制器 +Delegate ,在协议里声明代理方法, 一般代理方法是@optional
2.声明 代理属性 @property (nonatomic , weak)id <协议名称> delegate;
3.在内部发生某些行为时 ,调用代理对应的代理方法,通知代理内部发生什么事情
if ([self.delegate respondsToSelector:@selector(getCityId:)]) {
[self.delegate getCityId:[self.cityIdArr objectAtIndex:indexPath.row]];
[self.navigationController popViewControllerAnimated:YES];
}
4.设置代理 XXX.delegate = self
5.xxx实现代理方法 getCityId:(NSString *)str
6.xxx 遵守协议 在.h中加 <协议名称>
网友评论