delegate作为开发模式的一种,参考常用的UITableView的Delegate和DataSource。
可见,一个delegate需要通过@protocol 声明 代理的名称 与需要遵守的协议通常是<NSObject>
@optional 为可选方法 @require为必须实现的方法。结尾以@end结束。
在当前代理类中还需要声明一个代理的属性。
@property(nonatomic,weak)id<delegateName> delegate 其中属性的修饰词用nonatomic和weak防止循环引用。
在代理类的实现文件中,需要触发代理事件的地方通过self.delegate来调用方法。
在调用代理类的文件中,需要导入头文件,并遵循代理 eg. #import"delegateObject"<delegate>
在实现文件中,实现@require声明的代理方法。
网友评论