首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >卡在KVO_IS_RETAINING_ALL_OBSERVERS_OF_THIS_OBJECT_IF_IT_CRASHES_AN_OBSERVER_WAS_OVERRELEASED_OR_SMASHED中

卡在KVO_IS_RETAINING_ALL_OBSERVERS_OF_THIS_OBJECT_IF_IT_CRASHES_AN_OBSERVER_WAS_OVERRELEASED_OR_SMASHED中
EN

Stack Overflow用户
提问于 2018-05-17 18:05:43
回答 1查看 679关注 0票数 2

我正在使用新的Swift 4API,并以一种非确定性的方式获取KVO_IS_RETAINING_ALL_OBSERVERS_OF_THIS_OBJECT_IF_IT_CRASHES_AN_OBSERVER_WAS_OVERRELEASED_OR_SMASHED。有人能把它修好吗?代码非常简单,创建一个KVO并将其存储在本地变量中。

代码语言:javascript
运行
复制
private var rateObservation: NSKeyValueObservation?

rateObservation = player.observe(\AVQueuePlayer.rate, options: [.initial, .new]) { (_, change) in
   observer(change.newValue)
}
EN

Stack Overflow用户

发布于 2018-05-18 00:59:40

这个答案对我来说没有任何意义。但这是让它为我工作的唯一方法。

代码语言:javascript
运行
复制
deinit {
    rateObservation?.invalidate()
}

这没有意义,因为新观察的文档清楚地表明我们不需要注销通知,这在大多数情况下都有效,但有时我会得到提到的异常,并且当我显式地使观察者无效时,它永远不会抛出异常。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50388735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档