Xcode でストーリーボードを使用してアプリを作成しました。アプリには、TBC から制御される UITabBarController (TBC) といくつかの UIViewControllers (VC) が含まれています。
AppDelegate で、着信 MIDI メッセージ (CoreMidi) をリッスンするオブジェクト (「myMidi」と呼びます) を作成します。したがって、この myMidi-Object のインターフェイスを VC に実装します。Interface Builder (IB) の「関係」オプションを使用して、ビューを TBC に接続しました。
IB で作成されたすべての VC は、自分の VC クラスのインスタンスです。前に述べたように、このクラスでは、AppDelegate で作成した myMidi-Object のインターフェイスを実装します。したがって、すべての VC インスタンスは myMidi-Object のアドレスを保持し、AppDelegate で作成された唯一の参照が必要になります。
ですから、現在表示されている現在の VC または TBC にアクセスして、この参照を VC クラスに渡すにはどうすればよいのでしょうか?
または、他にどのようにこの問題を解決できますか。AppDelegateのどこかでこれを行うべきだと思いますか、それともTBCにも参照を保持して、VCが作成されるときにすべての新しいVCに渡す必要があります!?