如何解决如果未激活,GCD TimerSource 会导致解除分配失败吗?
我不明白是什么导致了这个代码:
@IBAction func reset() {
DemoConduit()
}
6 TWiG_MC.DemoMCbrowserController.reset()
5 _swift_release_dealloc
0 _dispatch_release_dealloc
DemoConduit
是一个类。基于预感和飞镖投掷,我将其归结为与 DemoConduit 中的以下属性/实例变量有关:
let tickSource = dispatchSource.makeTimerSource(queue: dispatchQueue.main)
我不久前从 NSTimer 转换了这个。通常,从此类创建的对象表现良好。但这似乎是因为在大多数情况下,我运行的代码如下:
self.tickSource.activate()
某种令人费解的错误需要解决。我是否错过了一些解释如果将 makeTimerSource 的结果存储在属性中而不激活它的地方,它会混淆引用计数系统?我问我错过了什么?为什么会发生这种情况?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。