簡単な質問:AVAudioPlayerインスタンスのデリゲートを複数のクラスに設定できますか?AVAudioPlayer Delegateを複数のクラスに設定しますか?
私のプログラムでは、サウンドの再生が終了したときに2つのクラスに通知する必要がありますが、その方法はわかりません。
ご協力いただければ幸いです。
簡単な質問:AVAudioPlayerインスタンスのデリゲートを複数のクラスに設定できますか?AVAudioPlayer Delegateを複数のクラスに設定しますか?
私のプログラムでは、サウンドの再生が終了したときに2つのクラスに通知する必要がありますが、その方法はわかりません。
ご協力いただければ幸いです。
まあそれは不可能です。通知を登録して通知することでそれを行うことができます。 Hereは、クラスcをクラスに登録して通知するためのコードです。
ですから、一つのクラスのデリゲートを設定することができ、そこにあなたが
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{
NSLog(@"delegate called");
[[NSNotificationCenter defaultCenter]
postNotificationName:AUDIO_PLAYER_FINISHED_PLAYING object:nil];
}
いいえ、デリゲートは常に1つのインスタンスに過ぎません。 デリゲートである新しいクラスを作成し、他の2つのクラスにイベントについて通知するためにNSNotificationを送信させることができます。
おかげで、他のクラスを通知することができ、私はそれを試してみますよ – Fitzy