i am setting the user information in signInController. signupController needs to populate the same information if any mandatory fields are missing or the data needs to be updated,but the user default is nil when retrieved from in signupcontroller.
SignInController: setting the user default
private var user: UserDefaults?self.user?.set((result as? [AnyHashable : Any])?["name"], forKey: "username")
self.user?.set((result as? [AnyHashable : Any])?["id"], forKey: "userid")
self.user?.set((result as? [AnyHashable : Any])?["email"], forKey: "useremail")
self.user?.set((((result as? [AnyHashable : Any])?["picture"] as? [AnyHashable : Any])?["data"] as? [AnyHashable : Any])?["url"], forKey: "userpic")
self.user?.synchronize()
In SignUpController
private var user: UserDefaults?
func populateData ()
{
print("UserDefaults.standard.dictionaryRepresentation().values)=======>",user?.dictionaryRepresentation().keys)
print("Facebook handler===", user?.object(forKey: "name"))
textName.text = (user?.object(forKey: "name") ?? "") as! String
textEmail.text = (user?.object(forKey: "mail") ?? "") as! String
userPhone.text = (user?.object(forKey: "phone") ?? "") as! String
print("The data is Name : ",textName.text)
print("The data is Email : ",textEmail.text)
print("The data is Phone : ",userPhone.text)
}
This is the output from the print statement.
UserDefaults.standard.dictionaryRepresentation().values)=======> nil
Facebook handler=== nil
The data is Name : Optional("")
The data is Email : Optional("")
The data is Phone : Optional("")