Как назначить делегата нескольким классам

У меня есть пользовательский делегат, и я хочу, чтобы 2 класса отвечали на его события. Как я могу назначить его на оба класса.

то есть:

viewController.delegate = firstClass && self;

2 ответа

Решение

Если вам нужно, чтобы событие вызывалось в нескольких местах, вам следует использовать NSNotificationCenter.

Вы можете создать третий класс, который обрабатывает событие, передав его двум классам.

viewController.delegate = delegatingClass;

... и в объекте, называемом delegatingClassРеализуйте метод, который вас интересует, вызвав этот же метод для двух классов, которые вы хотите обработать. Например:

void handleEvent( Event event ) {
    firstClass.handleEvent( event );
    otherClass.handleEvent( event );
}
Другие вопросы по тегам