我正在使用新的Swift 4API,并以一种非确定性的方式获取KVO_IS_RETAINING_ALL_OBSERVERS_OF_THIS_OBJECT_IF_IT_CRASHES_AN_OBSERVER_WAS_OVERRELEASED_OR_SMASHED
。有人能把它修好吗?代码非常简单,创建一个KVO并将其存储在本地变量中。
private var rateObservation: NSKeyValueObservation?
rateObservation = player.observe(\AVQueuePlayer.rate, options: [.initial, .new]) { (_, change) in
observer(change.newValue)
}
发布于 2018-05-18 00:59:40
这个答案对我来说没有任何意义。但这是让它为我工作的唯一方法。
deinit {
rateObservation?.invalidate()
}
这没有意义,因为新观察的文档清楚地表明我们不需要注销通知,这在大多数情况下都有效,但有时我会得到提到的异常,并且当我显式地使观察者无效时,它永远不会抛出异常。
https://stackoverflow.com/questions/50388735
复制相似问题