Полиморфизм с различными сигнатурами метода - PullRequest
0 голосов
/ 10 января 2010

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

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

Отлично работал до ...

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

Как лучше всего с этим справиться?

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

1 Ответ

1 голос
/ 10 января 2010

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

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

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

У Apple Технические вопросы и ответы по самой теме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...