从 Swift 3 中的完成块回调中关闭模态 window

Dismiss a modal window from a completion block callback in Swift 3

我的目标是通过 url 请求确定模态 window 是否应该被关闭,但我这里的代码不起作用,我也不知道为什么。

func dissmissIfServerTellsMeTo() {
        LoginRequest.checkTokenIsStillValid(completionHandler: { (response) in
            if let result = response.result {
                guard result else {
                    print("Access denied")
                    return
                }
                self.dismiss(animated: false, completion: nil)
            }
        })
    }

知道我做错了什么吗?

UI 操作必须在主线程上执行。 因此,尝试在主线程上关闭。

func dissmissIfServerTellsMeTo() {
LoginRequest.checkTokenIsStillValid(completionHandler: { (response) in
    if let result = response.result {
        guard result else {
            print("Access denied")
            return
        }

        DispatchQueue.main.async {
            self.dismiss(animated: false, completion: nil)
        }
    }
})
}