Как назначить делегата нескольким классам - PullRequest
0 голосов
/ 22 июля 2011

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

т.е.:

viewController.delegate = firstClass && self;

Ответы [ 2 ]

1 голос
/ 22 июля 2011

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

viewController.delegate = delegatingClass;

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

void handleEvent( Event event ) {
    firstClass.handleEvent( event );
    otherClass.handleEvent( event );
}
0 голосов
/ 22 июля 2011

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

...