具有不同方法签名的多态性

时间:2010-01-10 02:45:06

标签: objective-c polymorphism

我有一组课程(比如验证规则)。每一个都返回true或false。

我使用id并为每个类调用方法签名,并获得结果,允许我动态创建验证规则。

工作得很好,直到......

我有一个新类,需要额外的参数来进行验证。

处理此问题的最佳方法是什么?

修改所有其他类方法签名以获取他们不需要的参数?

1 个答案:

答案 0 :(得分:1)

最合适的做法可能是将参数抽象为一个可以具有可变变量轮廓的对象。

当然,更简单的说,Objective-C允许变量参数列表很像C:

void method(int a, ...)     // in C
- (void) method:(id) firstObject, ...  // in ObjC

Apple有关Technical Q&A的主题。