2017-09-26 6 views
1

Xcode 9에서 4를 신속하게 업데이트했습니다. 그 전에는 정상적으로 작동했습니다. 그러나 AVplayer가 충돌하는 코드는 아래의 옵서버에서 충돌하고 있습니다.NSUnknownKeyException : "player"속성에 대해 KVC 호환이 아닌 객체로 전송되었습니다.

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

그리고 로그 인해 캐치되지 않는 예외 'NSUnknownKeyException'응용 프로그램 종료, 이유는

입니다 : '[addObserver : forKeyPath : @ "player.currentItem.duration"옵션 : 5 상황 : 0x10ff74ac8]이 (가) KVC 규격이 아닌 개체에 "player"속성으로 전송되었습니다.

@objc 동적

값이 사용자가 반드시 준수해야 할 재산 전에 :

+0

감사합니다. Tushar Sharma에게 감사드립니다. –

답변

4

스위프트는 우리가 추가 할 필요가 빠른 4 있도록 자신의 키 값 관찰자가 없습니다. 귀하의 경우 그것은 AVPlayer 인스턴스 것입니다. 예 :

class MyPlayerCustomView: UIView { 

@objc dynamic var myPlayer: AVPlayer? 

} 

희망 사항. 그러면 문제가 해결됩니다. 그것은 내 것을 해결했습니다!