2010-01-10 36 views
0

我有一组类(比如验证规则)。每一个返回一个真或假。具有不同方法签名的多态性

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

伟大的工作,直到......

我有一个新的类,带有一个额外的参数来与它的验证。

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

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

回答

1

也许最合适的做法是将你的参数传递给一个可以有变量变量的对象。

当然,更简单地说,Objective-C中确实允许一个可变的参数列表很像C:

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

苹果对非常受Technical Q&A

+0

是的,把变量放到NSDictionary中会让各个类选择他们感兴趣的内容。 – 2010-01-10 03:05:33

相关问题