【发布时间】:2013-10-02 16:27:50
【问题描述】:
我有一个类作为 AVPlayer 的包装器,它的功能之一是在播放期间每 1 秒和 10 秒发布一次通知(即在一般情况下使addPeriodicTimeObserverForInterval: 更方便)。
以前,我通过此通知发送的对象是播放器包装器本身(即 ABPlayer.sharedPlayer)。今天我需要允许一些对象只接收有关特定媒体项目播放的通知。这可以通过发送[[someAVURLAsset URL] absoluteString] 作为通知对象来完成(当然,当AVPlayer 中的资产是AVURLAsset 时)。
提示的问题是:是否适合在不同情况下使用不同类型对象发布单个通知?我了解发送特定对象或发送nil(包罗万象)的价值,但我不记得看到可以发送替代类型对象的情况。不过,就我而言,这似乎是有道理的。
我可以简单地发送两个不同的通知,但由于这些通知总是只被发送给单个事件的观察者,并且它们总是从代码中的同一个地方发送,所以它们感觉就像一个单独的通知。
我意识到我所拥有的一切都是可能的并且有效,但我很好奇是否有充分的理由来避免这种模式。
【问题讨论】:
标签: iphone ios objective-c cocoa-touch cocoa