Swift 3.0中的KVO

时间:2016-07-25 21:38:35

标签: swift key-value-observing swift3

首先,我想说的是,我并不是那么迅速。但是我想在播放器库的顶部构建一个自定义视频播放器,可以在这里找到:

https://github.com/piemonte/Player

虽然将它包含在我的swift 3.0项目中,我遇到了一些我无法自行解决的问题,所以我想请大家帮忙。我收到以下错误:

Expression pattern of type 'Int' cannot match values of type UnsafeMutablePointer<Void>?

这发生在下面的代码中。 (我排除了所有不相关的部分,因此代码可能会不时跳转。):

private var PlayerObserverContext = 0

private func commonInit() {
   self.player.addObserver(self, forKeyPath: PlayerRateKey, options: ([NSKeyValueObservingOptions.new, NSKeyValueObservingOptions.old]) , context: &PlayerObserverContext)
}

deinit {
    self.player.removeObserver(self, forKeyPath: PlayerRateKey, context: &PlayerObserverContext)
}

override public func observeValue(forKeyPath keyPath: String?, of object: AnyObject?, change: [NSKeyValueChangeKey : AnyObject]?, context: UnsafeMutablePointer<Void>?) {
switch (keyPath, context) {
    case (.some(PlayerRateKey), PlayerObserverContext):
        true
    default:
        true
}

错误发生在该行: case (.some(PlayerRateKey), PlayerObserverContext):

我希望这就够了。如果您有任何问题或希望我澄清一些事情,请告诉我!提前致谢。

0 个答案:

没有答案