设置AVAudioPlayer委托给多个类?

问题描述:

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

在我的程序中,我希望两个类在声音播放结束时得到通知,但我不确定如何做到这一点。

任何帮助,将不胜感激。

那么这是不可能的。但您可以通过注册并通知通知来完成。 Here是在目标c中注册和通知类的代码。

所以,你可以设置一个类中的代表,有

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

} 
+0

感谢你可以通知其他类,我会尝试了这一点 – Fitzy 2012-03-12 08:12:46

不,代表总是只有一个实例。 你可以创建一个新的类,它是委托并使其发送一个NSNotification来通知其他两个类关于该事件。