【发布时间】:2019-02-20 09:56:44
【问题描述】:
我写了以下代码:
DispatchQueue.main.async {
self.cameraManager.checkForCameraAuthorization(deniedCallback: {
self.presentDeniedAlert()
self.activityIndicator.stopAnimating()
}) {
self.cameraAccess = true
self.cameraButton.isEnabled = false
self.activityIndicator.stopAnimating()
}
}
和
cameraManager.checkForMicrophoneAuthorization(deniedCallback: {
self.presentDeniedAlert()
self.activityIndicator.stopAnimating()
}) {
DispatchQueue.main.async {
self.microphoneAccess = true
self.microphoneButton.isEnabled = false
self.activityIndicator.stopAnimating()
}
}
}
(区别在于调用异步的地方)
1.崩溃self.cameraButton.isEnabled = false can only be called from main thread
2.一个完成就好了。
谁能解释一下,为什么会这样?
【问题讨论】:
标签: ios swift grand-central-dispatch dispatch-queue