设置AVAudioPlayer委托给多个类?

时间:2012-03-12 06:37:42

标签: objective-c delegates avaudioplayer

快速提问:是否可以将AVAudioPlayer实例的委托设置为多个类?

在我的程序中,我希望在声音播放完毕后通知两个课程,但我不确定如何操作。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

嗯,这是不可能的。但你可以通过注册和通知通知来做到这一点。 Here是用于在目标c中注册和通知类的代码。

因此,您可以将一个类设置为委托,并在那里通知其他类

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

}

答案 1 :(得分:0)

不,委托总是只有一个实例。 您可以创建一个新的类作为委托,并使其发送NSNotification以通知其他两个类有关该事件。