iOS SwiftUI-关闭视图/解除()导致崩溃线程23:EXC_BREAKPOINT



我在主视图中有这个:

@Environment(.dismiss) var dismiss
func closeLogin(){
self.dismiss()
}

我把这个函数传递给一个子视图,在那里我试图从另一个函数中调用它:

func tryLogin() async throws {
guard let url =  URL(string: domain + "/do_login.php") else { return }

var postString = "&email=" + String(inputEmail)
postString += "&password=" + String(password)

var request = URLRequest(url: url)
request.httpMethod = "POST"
request.httpBody = postString.data(using: String.Encoding.utf8)
let (data, _) = try await URLSession.shared.data(for: request)
if let json = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] {
if(json["passed"] as! Int == 1){

if let uid = json["userid"] as? Int {
userid = uid
}
closeLogin() // <<<<
}
}
}

我得到

Thread 23: EXC_BREAKPOINT (code=1, subcode=0x1861b7e5c)

在上

self.dismiss()

请帮助

我根据这里的注释解决了它:

func closeLogin(){
DispatchQueue.main.async { 
self.dismiss()
}
}

最新更新