0
次のビューを表示する前にログイン認証を検証する必要があります。私はこれらのエラーをどのように "印刷"するのか知っていますが、セグを防ぐためにはfalseを返す必要があります。swift 4:falseを返し、webserviceのログインデータを確認します
は、私がWebサービスからJSONデータを取得するための準備機能を使用します。
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
do {
let username = txtUsername.text
let password = txtPassword.text
// webservice
let urlString = "http://myweb.com/api/user/username/\(username!)/password/\(password!)/key/xxx"
if let url = URL(string: urlString) {
let datosWeb = try Data(contentsOf: url)
// json
let jsonObject = try JSONSerialization.jsonObject(with: datosWeb, options: [])
if let temp = jsonObject as? [[String:String]] {
self.items = temp
}
} else {
print("URL not exists") // I need a return false
}
} catch {
print("Error obtaining data") // I need a return false
}
}
だからブール出力を持っていない機能を用意します。私はshouldPerformSegueでテキストフィールドの検証をしていますが、 "after"を検証するために同様の関数が必要です。
override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
if (txtUsername.text?.isEmpty)! || (txtPassword.text?.isEmpty)! {
showAlert(title: "Error", message: "Please, complete the fields.")
return false
}
else {
return true
}
}
ありがとう、思ったよりずっと簡単でした – csotelo