Настройка AVAudioPlayer Делегировать несколько классов? - PullRequest
0 голосов
/ 12 марта 2012

Быстрый вопрос: возможно ли установить делегат экземпляра AVAudioPlayer более чем в один класс?

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

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

1 голос
/ 12 марта 2012

Ну, это что-то не возможно.но вы можете сделать это путем регистрации и уведомления. Здесь - это код для регистрации и уведомления классов в цели c.

Таким образом, вы можете назначить один класс делегату, а там вы можете уведомить другие классы

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{
    NSLog(@"delegate called");
    [[NSNotificationCenter defaultCenter] 
                postNotificationName:AUDIO_PLAYER_FINISHED_PLAYING object:nil];

}
0 голосов
/ 12 марта 2012

Нет, делегат - это всегда только один экземпляр.Вы можете создать новый класс, который является делегатом, и заставить его отправлять NSNotification, чтобы уведомить другие два класса о событии.

...