NSUnknownKeyException : 已发送到不符合 "player" 属性的 KVC 的对象



我已将代码更新为Xcode 9中的Swift 4。但是现在,Avplayer正在下面的观察者崩溃是它崩溃的代码。

addObserver(self, forKeyPath: "player.currentItem.duration", options: [.new, .initial], context: &playerViewControllerKVOContext)

,日志为

由于未被发现的例外,终止应用程序 'nsunknownekeyexception',原因:'[Addobserver:forkeypath:@" player.currentitem.duration"选项:5 上下文:0x10FF74AC8]已发送到不符合KVC的对象 对于"播放器"属性。'

swift没有自己的钥匙值观察者,因此对于Swift 4,我们必须添加:

@objc dynamic

在需要观察的属性之前。在您的情况下,它将是Avplayer实例。例如:

class MyPlayerCustomView: UIView {
@objc dynamic var myPlayer: AVPlayer?
}

希望这能解决您的问题。它确实解决了我的!

最新更新