以下のようなソースで音楽プレイヤーを作成しております。addObserverのoptionsを.Newとしていますが、.Oldや[.New, .Old]との違いが理解できず、どれが適切か分かりません。お教えいただけますでしょうか。
※あるサイトに「.Oldオプションを使用すると、変更前のオブジェクト値を変更辞書のエントリとしてオブザーバに送るよう指定できます。.Newオプションを使用すると、変更後の新しい値が変更辞書のエントリとして送られます。」と書いてありましたが、理解ができませんでした。
よろしくお願いします。
var avPlayerItem: AVPlayerItem?
・
・
avPlayerItem = AVPlayerItem(asset: avUrlAsset)
avPlayerItem!.addObserver(self, forKeyPath: "status", options: .New, context: nil)
・
・
override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {
if avPlayerItem?.status == .ReadyToPlay { // ここでプレイヤーを再生する処理 }
}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。