自定義的代理是有格式的
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];