我正在使用Swift 4.2编写iOS应用程序。我正在向注销用户拨打服务电话。 我需要知道在哪里使用主线程(DispatchQueue.main.async)。 这是我的代码:
private func handleLogoutCellTap() {
logoutUseCase?.logout() { [weak self] (result) in
guard let self = self else { return }
switch result {
case let (.success(didLogout)):
didLogout ? self.handleSuccessfullLogout() : self.handleLogoutError(with: nil)
case let (.failure(error)):
self.handleLogoutError(with: error)
}
}
}
logoutUseCase?.logout()进行服务调用并返回@转义完成。我应该在整个handleLogoutCellTap()函数上还是仅在处理段中使用DispatchQueue.main.async?
答案 0 :(得分:2)
在收到main thread
的响应后,将控件移至要更新 UI 的任何地方。
如果logout
和handleSuccessfullLogout()
方法执行任何 UI 操作,则可以将整个handleLogoutError(with:)
嵌入switch statement
中,即< / p>
DispatchQueue.main.async