Ich versuche, eine Warnmeldung anzuzeigen, wenn die Kennwörter übereinstimmen. Alles funktioniert sehr gut:Warnung - libC++ abi.dylib: Beenden mit nicht abgefangener Ausnahme vom Typ NSException
1) Web-Service aufgerufen und gibt das Passwort
2) Der Fluss tritt in die, wenn die Bedingung, die im Passwort zu einem Match bezieht
if(userPasswd == sysPasswd)
{
displayAlert(userMessage: "Welcome! You have been authenticated")
return
}
Die displayAlert Funktion aufgerufen wird erfolgreich:
func displayAlert(userMessage: String)
{
// create the alert
let myAlert = UIAlertController(title: "Alert", message: userMessage, preferredStyle: UIAlertControllerStyle.alert)
// add an action (button)
myAlert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler: nil))
// show the alert
self.present(myAlert, animated: true, completion: nil)
}
Wenn die letzte Anweisung ausgeführt wird gibt es diesen Fehler
libc++abi.dylib: terminating with uncaught exception of type NSException
Warum passiert das? Ich bin ein Anfänger in Swift und lerne immer noch die Seile. Es gibt keine gelben Flags usw.
Sind Sie sicher, dass "self" existiert, wenn die Netzwerkmethode zurückkehrt? – the4kman
Richten Sie einen Ausnahmehaltepunkt im Debugger ein, um die genaue Fehlermeldung anzuzeigen. –
sind Sie beim Anzeigen des Alerts im Hauptthread? Ich bezweifle, dass du nicht bist. –