快速服务呼叫,处理响应

时间:2019-06-23 09:20:11

标签: swift

我正在使用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?

1 个答案:

答案 0 :(得分:2)

在收到main thread的响应后,将控件移至要更新 UI 的任何地方。

如果logouthandleSuccessfullLogout()方法执行任何 UI 操作,则可以将整个handleLogoutError(with:)嵌入switch statement中,即< / p>

DispatchQueue.main.async