Ответ 1
Вы должны переопределить shouldPerformSegueWithIdentifier
и вернуть false, если сбой входа:
override func shouldPerformSegueWithIdentifier(identifier: String?, sender: AnyObject?) -> Bool {
if let ident = identifier {
if ident == "YourIdentifier" {
if loginSuccess != true {
return false
}
}
}
return true
}
ОБНОВЛЕНО ДЛЯ SWIFT 3
Метод Swift 3 теперь называется shouldPerformSegue
override func shouldPerformSegue(withIdentifier identifier: String?, sender: Any?) -> Bool {
if let ident = identifier {
if ident == "YourIdentifier" {
if loginSuccess != true {
return false
}
}
}
return true
}
//Extended
Если вы программно вызываете функцию performSegueWithIdentifier, этот метод не будет вызываться, но для этого он не нужен, вы можете назвать его только своим успехом входа в систему, иначе проигнорируйте его:
if loginSuccess {
performSegueWithIdentifier("login", sender: nil)
}