Der Kontext ist, wenn ein Benutzer auf die Anmeldeschaltfläche klickt, überprüft die Anwendung die Anmeldeinformationen mit Web-Service, und wenn Benutzer berechtigt ist, den Benutzernamen und das Passwort in userDefaults gespeichert (für die automatische Anmeldung beim Öffnen der Anwendung wieder)Abmelden Aktion funktioniert nicht
Jetzt benutze ich eine Abmelden-Taste auf der nächsten Seite (wo der Benutzer nach erfolgreicher Anmeldung geht), und das ist mein Code für diese Abmelden-Taste, die nicht funktioniert.
Laut mir, durch Antippen der Abmeldung, sollte es die userDefaults löschen und zurück zur Anmeldeseite gehen. derzeit bin ich nicht besorgt über das Aussehen, hilf mir einfach mit dem Code.
Funktion zum Hinzufügen der Schaltfläche.
override func viewDidLoad()
{
super.viewDidLoad()
let doneItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.trash, target: nil, action: #selector(self.logoutButtonTapped(_:)));
navigationItem.rightBarButtonItem = doneItem;
// Do any additional setup after loading the view.
}
Funktion für Logout-Button:
func logoutButtonTapped(_ sender: Any)
{
let defaults = UserDefaults.standard
defaults.removeObject(forKey: "userName")
defaults.removeObject(forKey: "userPassword")
let newViewObject = storyboard?.instantiateViewController(withIdentifier: "LoginPageViewController") as! LoginPageViewController //LoginPageViewController is my login view file, and identifier also has the same name.
navigationController?.pushViewController(newViewObject, animated: true)
}
Das ist mein Drehbuch. Ich füge Knopf programmatisch hinzu.
können Sie Ihre stroyboard Szene zeigen –
Stellen Sie den 'target' auf' self' –