1

FacebookとTwitterのログインボタンがあります。私はuser guideに従っています。ユーザー情報を保存したいのですが、このエラーが表示されます。Could not cast value of type 'FIRUserInfoImpl' to 'NSDictionary'Firebase swift - タイプ 'FIRUserInfoImpl'の値を 'NSDictionary'にキャストできません

なぜ私は関連するデータを保存できないのか分かりません。これはプロバイダのデータがオブジェクトの種類と一致しなかったためですか?

func createFirebaseUser(){ 

     //MARK: Assign what to get from current User data. 
     let key = ref.child("users").childByAutoId().key 
     if let user = FIRAuth.auth()?.currentUser{ 
     for profile in user.providerData { 
     let userID = profile.uid as! String! 
     let username = profile.displayName as! String! 
     let email = profile.email as! String! 
     let profilePicUrl = profile.photoURL as! NSURL! 


     ref.child("users").updateChildValues(profile as? NSDictionary as! [NSObject : AnyObject]) 

     } 
     } 
+1

'profile'はタイプ' FIRUserInfo'であり、辞書にキャストすることはできません。それがエラーメッセージに表示されます。おそらく、抽出されたプロパティから辞書を作成する必要があります。また、 'String!'と 'NSURL! 'にある感嘆符をすべて削除してください。あなたは確かに非オプションであることが必要です。 – vadian

+0

データモデルを作成することを意味しますか? –

+0

'updateChildValues'のパラメータの型に一致するものを作成してください – vadian

答えて

0

あなたはupdateChildValuesでデータを送信するdictionnaryを作成する必要があります。

関連する問題