【问题标题】:Get notified when a playlist is added or removed through cocoalibspotify通过 cocoalibspotify 添加或删除播放列表时收到通知
【发布时间】:2013-02-24 20:10:56
【问题描述】:

我在应用程序中使用 cocoalibspotify,希望在添加或删除播放列表时收到通知。

我尝试在共享会话上为密钥路径 userPlaylists 添加观察者,但这似乎没有被调用。我也尝试过实现-sessionDidChangeMetadata: delete 方法,但这似乎只在登录时调用。

有谁知道当用户添加或删除播放列表时如何获得通知?

【问题讨论】:

    标签: macos cocoa spotify cocoalibspotify-2.0


    【解决方案1】:

    您需要将 KVO 观察者添加到会话的 userPlaylists 容器的 playlists 属性中。您添加 KVO 的步骤太短了。请注意,userPlaylists 属性将在登录后的短时间内变为 nil,因此您也需要注意这种变化:

    self.session = [SPSession sharedSession];
    [self addObserver:self forKeyPath:@"session.userPlaylists.playlists" options:0 context:nil];
    

    【讨论】:

    • 我一直担心 KVO 的一些问题是将零作为选项传递。零在 NSKeyValueObservingOptions 枚举中定义的常量范围之外。最小值 NSKeyValueObservingOptionNew 的十进制值为 1。这对触发行为观察者有何影响?
    • 我已经通过它多年了,没有任何问题。
    • 查看NSKeyValueObservingOptions 的文档,它说:“如果您不需要更改字典值,则可以传递 0。”
    • 正是我想要的。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-16
    • 2015-03-04
    • 1970-01-01
    • 1970-01-01
    • 2011-05-25
    • 2018-06-24
    相关资源
    最近更新 更多