2016-12-06 10 views
0

私は一種の音楽アプリケーションを作っていますが、メインビューには再生ボタンが他にもあります。このセクションは、他の部分にコンテナビューがあるので、ビューの上部セクションのみを占有します。別のビューコントローラでオブジェクトを制御する方法は? (Xcode:objective-c)

他のビュー

にどのように私がボタンを持っていないながらなどを私が最初に表示するビューを切り替えるためのボタンがあったが、私はオーディオが異なるビューにしながら再生する必要があると遊ぶことができるように、一時停止メインコントローラでは、子ビューコンテナのオブジェクトに作用しますか?

答えて

0

あるView Controllerから別のView Controllerにメッセージを送信する方法はいくつかあります。

  1. シングルトン。
  2. 代表者。
  3. KVO。
  4. 通知。

あなたはオーディオアプリケーションを作成しているので、シングルトンを使用することが最善の方法かもしれません。

あなたのシングルトンは一度インスタンス化され、再生機能をビューコントローラと分離して保持しているため、アプリケーション内のどこからでもアクセスできます。

おそらく、オーディオを開始するシングルトンにはplay関数があり、それを一時停止する関数pauseがあります。任意のビューコントローラからこれらの関数を呼び出すことができるはずです。

それはのような単純なものになります。ボタンは別のビューからオーディオを再生している場合、これはまだオーディオを再生するためにいいと思い

AudioSingleton.shared().play

+0

? – Klaus

+0

これは、オーディオを再生するボタンではありません。ボタンはユーザが対話するためのもので、タップするとシングルトンで 'play'関数を呼び出します。ボタンが消えると、オーディオは、おそらく別のユーザインタラクションから「一時停止」機能が呼び出されるまで、引き続き再生されます。 –

+0

オーディオ用の関数も、他のView Controllerクラスファイルにもあります。私は "#import" ViewController2.h ""コードをメインビューコントローラーのmファイルに使用しようとしましたが、運が無かったのです。 – Klaus

関連する問題