【发布时间】:2019-10-14 09:49:58
【问题描述】:
我在signInController 中设置用户信息。如果缺少任何必填字段或需要更新数据,则 signupController 需要填充相同的信息,但从 signupcontroller 中检索时用户默认为 nil。
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()
在注册控制器中
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("")
【问题讨论】:
-
使用 Firebase 身份验证firebase.google.com/docs/auth
标签: swift userdefaults