我不明白是什么导致了这个代码:
@IBAction func reset() {
DemoConduit()
}
要在退出时产生此错误,请执行以下操作:
6 TWiG_MC.DemoMCBrowserController.reset()
5 _swift_release_dealloc
0 _dispatch_release_dealloc
DemoConduit
这是一门课。基于直觉和掷镖,我将其归结为与DemoConductor中的以下属性/实例变量有关:
let tickSource = DispatchSource.makeTimerSource(queue: DispatchQueue.main)
不久前我从NSTimer转换了这个。通常,从该类创建的对象表现良好。但这似乎是因为在大多数情况下,我运行的代码运行:
self.tickSource.activate()
这是一种令人费解的错误。我是否遗漏了一些说明,如果将makeTimerSource的结果存储在属性中,而不激活它,则会混淆引用计数系统?我在问我错过了什么?为什么会发生这种情况?