Я устанавливаю информацию о пользователе в signInController. signupController должен заполнить ту же информацию, если какие-либо обязательные поля отсутствуют или данные должны быть обновлены, но пользователь получает значение по умолчанию nil при получении из signupcontroller.
SignInController: установка пользовательского значения по умолчанию
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)
}
Это выходные данные оператора print.
UserDefaults.standard.dictionaryRepresentation().values)=======> nil
Facebook handler=== nil
The data is Name : Optional("")
The data is Email : Optional("")
The data is Phone : Optional("")