自定义的代理是有格式的
1、首先是明确谁是委托方,要在委托方里面定义代理。
格式是委托方的类名字加上Delegate。
例如:@protocolCarviewDelegate
然后定义协议的方法 写的第一个参数要把委托方作为一个参数传递到这个方法中
例如:@required
-(void)carview:(Carview*)view andWith:(Type)type;
2、接着在委托方的声明一个属性用来遵守协议(注意:这里的属性尽量用id类型,这样就 可以随便一个代理方都能遵守协议,能达到解偶的作用)用一般都用delegate; 这里用weak是为了防止相互指向引用造成死循环
例如:@property(nonatomic,weak)id delegate;
3、代理方只需要遵守协议然后将引入委托方实现协议内容就可以了
先将委托方引入代理方里面,然后创建出委托方,把代理方赋值到委托方里的delegate 属性中。然后实现代理方法就行了
4、 代理的方法是在委托方中用赋好值的代理方调用的
例如:[self.delegatecarview:selfandWith:bt.tag];