2010-01-10 3 views
0

У меня есть группа классов (скажем, для правил проверки). Каждый возвращает true или false.Полиморфизм с различными сигнатурами методов

Я использую id и вызываю сигнатуру метода для каждого из классов и получаю результаты, позволяющие динамически создавать правила проверки.

работал замечательно, пока ...

у меня есть новый класс, который принимает дополнительный параметр, чтобы придумать его проверки.

Каков наилучший способ справиться с этим?

Изменить любую другую сигнатуру метода классов, чтобы принять параметр, который им не нужен?

ответ

1

Возможно, наиболее подходящим способом является абстракция вашего параметра, передаваемого в объект, который может иметь переменный профиль переменных.

Конечно, проще говоря, Objective-C действительно позволяет получить список переменных параметров так же, как C:

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

Яблоко Technical Q&A на сам предмет.

+0

Да, помещая переменные в NSDictionary, пусть различные классы выбирают и выбирают то, что им интересно. –

Смежные вопросы