通常代理的使用需要以下几个步骤:
1、制定协议。协议可以在委托对象的.h中声明,也可以在单独的.h中声明。制定协议后,在协议中声明需要代理对象来实现的方法。
2、设置代理属性。制定协议后需要为委托对象设置一个代理属性,代理属性的作用是存储委托对象的代理对象。具体格式如下:
@property (nonatomic, assign) id<****> delegate;//****是协议名
3、指定代理对象。通常在 代理对象 中,指定 委托对象 的代理是自己。示例如下:
***.delegate = self;//代理对象名***
4、代理对象 服从 委托协议
5、代理对象 实现 委托协议中的必须实现的方法
6、委托对象在合适的时机让代理对象执行协议中的方法。也就是调用已经实现的 协议中的 方法。通常格式如下:
if ([self.delegate respondsToSelector:@selector(方法名)]) {
//如果代理方实现了协议中得方法,就让代理去执行该方法
[self.delegate 方法];
}