2017-03-23 2 views
0
user.signUpInBackground{ (success: Bool, error:Error?) in 
    if success{ 
     print("signed up") 
     UserDefaults.standard.set(user.username, forKey: "username") 
     UserDefaults.standard.synchronize() 
     user.signUpInBackground {(success: Bool, error: Error?) in 
      if success { 
       print("signed up") 
       AVUser.logInWithUsername(inBackground: user.username!, password: user.password!, block: {(user: AVUser?, error: Error?) in 
        if let user = user { 
         UserDefaults.standard.set(user.username, forKey: "username") 
         UserDefaults.standard.synchronize() 
         let appDelegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate 
         appDelegate.login() 
        } 
       }) 
      }else { 
       print(error!.localizedDescription) 
      } 
     } 
    } 
} 

Ich schreibe eine App wie Instagram. Dies ist ein Teil des Codes, wenn Nutzer auf die Schaltfläche "Anmelden" klicken. Ich fand es ziemlich schwierig zu verstehen. Warum UserDefaults.standard und if success im obigen Code wiederholen? Danke für Ihre Aufmerksamkeit.Anmeldung Schaltfläche geklickt Funktion

+0

Sie können eine App nicht verstehen, die Sie machen? – Rikh

+1

user.signUpInBackground wird zweimal aufgerufen, das sieht für mich nicht korrekt aus. –

Antwort

1

hast du versucht so .. was ist das Problem? :

user.signUpInBackground {(success: Bool, error: Error?) in 
       if success { 
        print("signed up") 
        AVUser.logInWithUsername(inBackground: user.username!, password: user.password!, block: {(user: AVUser?, error: Error?) in 
         if let user = user { 
          UserDefaults.standard.set(user.username, forKey: "username") 
          UserDefaults.standard.synchronize() 
          let appDelegate: AppDelegate = UIApplication.shared.delegate as! AppDelegate 
          appDelegate.login() 
         } 
        }) 
       }else { 
        print(error!.localizedDescription) 
       } 
      } 

i scheinen user.signUpInBackground Methode zwei Mal aufgerufen. so UserDefaults.standard Erfolg wiederholen

+0

Ja, Sie haben Recht, danke für Ihre Hilfe. Ich habe einen dummen Fehler gemacht. Was mich wirklich verwirrt ist, dass der falsche Code auch funktioniert und gut läuft. – Wilson

+0

Sie sind willkommen, Kumpel. :) –

Verwandte Themen