Я занимаюсь разработкой приложения для MacOS со страницей входа.Когда пользователь нажал кнопку входа в систему, мне нужно отправить запрос на публикацию, и если ответ имеет код 200, тогда мне нужно предварительно выполнить переход.
Я сталкиваюсь с проблемой, при которой происходит переход, независимо от того, чтоя пытаюсь
Я пытался использовать IBAction для кнопки, затем вызывая seform preform, однако это привело к проблеме потока.Теперь я поместил все в shouldPerformSegue
override func shouldPerformSegue(withIdentifier identifier: NSStoryboardSegue.Identifier, sender: Any?) -> Bool {
if emailTextField.stringValue.isEmpty || passwordTextField.stringValue.isEmpty {
instructionText.stringValue = "Email and Password Required"
return false
}
let emailPassword = "email="+emailTextField.stringValue+"&password="+passwordTextField.stringValue
print("before post")
let data = emailPassword.data(using: String.Encoding.ascii, allowLossyConversion: false)
let url = URL(string: "http://127.0.0.1:50896/api/v1/auth")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.httpBody = data
let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
if let error = error {
print("error: \(error)")
} else {
if let response = response as? HTTPURLResponse {
print("statusCode: \(response.statusCode)")
}
if let data = data, let dataString = String(data: data, encoding: .utf8) {
print("data: \(dataString)")
}
}
}
task.resume()
return true
}
Я хотел бы завершить пост-запрос, проверьте код ответа, а затем выполните преформу segue, если код 200