代码之家  ›  专栏  ›  技术社区  ›  Kurse

从Swift 3中的完成块回调中取消模式窗口

  •  1
  • Kurse  · 技术社区  · 7 年前

    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)
                }
            })
        }
    

    1 回复  |  直到 7 年前
        1
  •  1
  •   technerd    7 年前

    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)
            }
        }
    })
    }