2017-07-26 16 views
0

私は、問題は、私はビューコントローラから変更されたときの映像が終わっ開始することである異なるビューコントローラでビデオの同じインスタンスを持つ方法は?

このクラスから継承し​​

しかし、私はすでに、すべての私のクラスを持っていることによってこれをしなかった、私のアプリのバックグラウンドでビデオを持っていると思いますもう一度、私はこれを望んでいない、私はそれが最後のビューコントローラにあったときからビデオを続行したい、私のソリューションは、1つのビデオをインスタンス化し、または別の解決策がありますか?

+0

コンテキストが重要です。たとえば、ナビゲーションコントローラ内にビューコントローラを組み込んだ場合、ビデオコントローラをナビゲーションコントローラ内に配置し、透明なバックグラウンドカラービューコントローラを上に置きます。この方法で単一のインスタンスを保持し、ビデオプレーヤーはtopViewControllerから独立しています このオプションも同じです。 – n00bProgrammer

答えて

-1

シングルトンを使用して達成できます。ここで

は例です:

final class VideoPlayerManager { 
    static let shared = VideoPlayerManager() 
    private init() { } 

    var avPlayer: AVPlayer! 
    var avPlayerLayer: AVPlayerLayer! 
    var paused: Bool = false 
} 

viewDidLoadに呼び出すには:

VideoPlayerManager.shared.avPlayer.play() 
+0

このリンクでは質問に答えることができますが、ここでは回答の重要な部分を含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になります。 - [レビューから](/レビュー/低品質の投稿/ 16841058) – dfd

0

このようなsingleton作成します -

class A { 
static let a = A() 
} 

をそして、あなたは複数で上記のオブジェクトにアクセスすることができます同じクラスのクラスインスタンス

class B { 
func someMethod() { 
let a = A.a 
} 
} 
class C { 
func someMethod() { 
let a = A.a 
} 
} 
関連する問題