如果未激活,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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...