Как назначить делегата нескольким классам
У меня есть пользовательский делегат, и я хочу, чтобы 2 класса отвечали на его события. Как я могу назначить его на оба класса.
то есть:
viewController.delegate = firstClass && self;
2 ответа
Решение
Если вам нужно, чтобы событие вызывалось в нескольких местах, вам следует использовать NSNotificationCenter.
Вы можете создать третий класс, который обрабатывает событие, передав его двум классам.
viewController.delegate = delegatingClass;
... и в объекте, называемом delegatingClass
Реализуйте метод, который вас интересует, вызвав этот же метод для двух классов, которые вы хотите обработать. Например:
void handleEvent( Event event ) {
firstClass.handleEvent( event );
otherClass.handleEvent( event );
}