我的应用程序有以下情况。四个子 VC 需要有一个数据源委托,它们的根 VC(它们都共享一个根 VC)必须实现。
我的问题是——我是在每个子 VC 中声明一个协议并在根 VC 中单独实现每个协议,还是有更好的方法?不知何故只定义一次协议?
谢谢
我的应用程序有以下情况。四个子 VC 需要有一个数据源委托,它们的根 VC(它们都共享一个根 VC)必须实现。
我的问题是——我是在每个子 VC 中声明一个协议并在根 VC 中单独实现每个协议,还是有更好的方法?不知何故只定义一次协议?
谢谢
让每个从声明您需要的协议的控制器继承的孩子怎么样?
@protocol VCChildDelegate <NSObject>
-(void) yourMethod;
@end
@interface WCChildAbstract : UIViewController
@property (nonatomic,assign> id<VCChildDelegate> delegate
@end
无需在 4 个子 VC 中声明 4 个协议。
就像@elio.d 所说的那样,只采用一种协议,并在您的 Root VC 中实现该协议方法。