これは OOP の機能です。やりたいことに応じて、次の 2 つのいずれかを行う必要があります。オブジェクトを両方の場所でインスタンス化するか、1 つの場所でインスタンス化して別の場所に渡します。渡したい場合は、NSNotificationなどを使用できます。共有 audioPlayer を使用するクラスでは、次のようなことができます。
- (id)init
{
self = [super init];
if (self) {
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(incomingAudioPlayer:)
name:@"ShareAudioPlayer"
object:nil];
}
return self;
}
- (void)incomingAudioPlayer:(NSNotification *)notification {
// do stuff here
}
そして、(インスタンス化の直後に) audioPlayer をインスタンス化するクラスでは、次のことができます。
[[NSNotificationCenter defaultCenter] postNotificationName:@"ShareAudioPlayer"
object:self
userInfo:audioPlayer];
実際には、userInfo をいじったり、AudioPlayer を NSDictionary などに貼り付けたりする必要があるかもしれませんが、これでもっと近くなるはずです。これは私が通常使用する方法であり、他にもあるかもしれません。