首页 > 解决方案 > 通过点击按钮发送通知时,发生崩溃

问题描述

我正面临崩溃

在从主线程访问后,不得从后台线程执行对布局引擎的修改。

我提到了崩溃并self.Indicator.stopAnimating()在我的代码中添加了这一行。它在一两个测试中运行良好,并且再次显示相同的崩溃。

标签: iosswiftdispatch-async

解决方案


所有的 UI 处理都必须在主线程而不是后台线程上完成。这就是崩溃所说的。

因此,将您的 UI 特定代码移至DispatchQueue.main.async,即

DispatchQueue.main.async {
    self?.Indicator.stopAnimating()
}

这代表所有 UI 特定的更改。将它们移动到主线程。

不相关:对变量名使用驼峰式大小写。它必须indicator代替Indicator.


推荐阅读