2013-09-26 42 views
1

我有一個充當AVPlayer包裝的類,它的一個功能是在播放過程中每隔1秒和10秒發佈一次通知(例如,在一般情況下使addPeriodicTimeObserverForInterval:更方便)。發佈不同對象類型的單個通知

以前,我用這個通知發送的對象是玩家包裝本身(即ABPlayer.sharedPlayer)。今天,我需要允許某些對象只接收有關特定媒體項目播放的通知。這可以通過發送[[someAVURLAsset URL] absoluteString]作爲通知對象(當AVPlayer中的資產當然是AVURLAsset時)來完成。

提示的問題:是否適合單個通知,在不同的情況下,發佈不同的類型的的對象?我理解發送特定對象或發送(全部捕獲)的價值,但我不記得看到可以發送替代類型的對象的情況。但就我而言,這似乎是有道理的。

我可以簡單地發送兩個不同的通知,但由於這些通常只是發送來通知觀察者單個事件,並且他們總是從代碼中的同一位置發送,所以他們只是感覺像一個通知。

我意識到我有可能和工作,但我很好奇,如果有一個令人信服的理由來避免這種模式。

回答

0

只要將不同的對象類型發送給觀察者的場景很好理解和記錄,沒有技術上的原因爲什麼你不能做到這一點。爲每個對象類型發佈不同的通知可能會產生更多的上下文意義。它肯定會幫助任何可能最終維護你的代碼的開發者。