【问题标题】:Post single notification with varying object types发布具有不同对象类型的单个通知
【发布时间】: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


    【解决方案1】:

    只要能够很好地理解将不同对象类型发送给观察者的场景并记录在案,您就没有技术上的理由不能这样做。为每种对象类型发布不同的通知可能更符合上下文意义。它肯定会帮助任何可能最终维护您的代码的开发人员。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-22
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多