在Objective C中,协议方法可以是必需的或可选的:
@protocol AProtocol @required -(void) arequiredMethod; @optional -(void) anOptionalMethod; @end
是否有一种优雅的方式来说符合协议的对象必须至少响应一组方法中的一种,我的梦想就像是
@protocol AProtocol @anyof -(void) onePossibleMethod; -(void) anotherPossibleMethod; @optional -(void) anOptionalMethod; @end
编辑:
这是(据我所知),不可能,如果声明符合完全由可选方法完成的给定协议的类,是否有办法提出编译时警告
@protocol AProtocol @optional -(void) onePossibleMethod; -(void) anotherPossibleMethod; @end
未能实施至少其中一个.