【发布时间】:2011-11-06 18:44:36
【问题描述】:
在 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
至少其中一项未能实现。
【问题讨论】:
-
回复:“编辑”不是我见过的。如果你真的想自动化这个,你可以使用 objc 运行时。
标签: objective-c protocols