powinny przesłonić shouldPerformSegueWithIdentifier
i return false jeśli logowanie nie powiodło się:
override func shouldPerformSegueWithIdentifier(identifier: String?, sender: AnyObject?) -> Bool {
if let ident = identifier {
if ident == "YourIdentifier" {
if loginSuccess != true {
return false
}
}
}
return true
}
aktualizowana SWIFT 3 Swift 3 metoda nazywa się teraz shouldPerformSegue
override func shouldPerformSegue(withIdentifier identifier: String?, sender: Any?) -> Bool {
if let ident = identifier {
if ident == "YourIdentifier" {
if loginSuccess != true {
return false
}
}
}
return true
}
// Rozszerzony
Jeśli ty programowo wywołać performSegueWithIdentifier ta metoda nie zostanie wywołana, ale to nie potrzeba, że można nazwać to po prostu Twój sukces logowania, w przeciwnym razie zignoruj go:
if loginSuccess {
performSegueWithIdentifier("login", sender: nil)
}
To wydaje się złe podejście. Powinieneś przeprowadzić segue tylko wtedy, gdy logowanie się powiedzie, zamiast wywoływać segue bez względu na to i spróbować anulować, jeśli logowanie się nie powiedzie. – Ian