2017-12-23 8 views
-4

enter image description hereは「(ユーザー?, _) - >()」型の値を変換できませんtype.iは、そのエラーに

を解決するために苦労しています予想引数にやあみんなは私がしようとしています実際にこのエラーを解決するために苦労していますこれらの4つの文字列と1つの画像をfirebaseに送信すると、このエラーが発生するまでうまくいきました。 ガードが電子メール= emailTextField.textを聞かせて、パスワードを聞かせてuploadDataを許可すれば= passwordTextField.textは、他の名前は= nameTextField.text { プリント( "フォームが有効でない") リターン }

Auth.auth().createUser(withEmail: email, password: password, completion: { (user:User?, error) in 

     if error != nil { 
      print(error!) 
      return 
     } 

     guard let uid = user?.uid else { 
      return 
     } 

     //successfully authenticated user 
     let imageName = UUID().uuidString 
     let storageRef = Storage.storage().reference().child("profile_images").child("\(imageName).jpg") 

     if let profileImage = self.profileImageView.image, let uploadData = UIImageJPEGRepresentation(profileImage, 0.1) { 

//ましょう= UIImagePNGRepresentation(self.profileImageView.image!){

  storageRef.putData(uploadData, metadata: nil, completion: { (metadata, error) in 

       if error != nil { 
        print(error!) 
        return 
       } 

       if let profileImageUrl = metadata?.downloadURL()?.absoluteString { 

        let values = ["name": name, "email": email, "profileImageUrl": profileImageUrl] 

        self.registerUserIntoDatabaseWithUID(uid, values: values as [String : AnyObject]) 
       } 
      }) 
     } 
    }) 
} 

fileprivate func registerUserIntoDatabaseWithUID(_ uid: String, values: [String: AnyObject]) { 
    let ref = Database.database().reference() 
    let usersReference = ref.child("users").child(uid) 

    usersReference.updateChildValues(values, withCompletionBlock: { (err, ref) in 

     if err != nil { 
      print(err!) 
      return 
     } 
+5

スクリーンショット内のコードを投稿しないでください。検索やコピーができず、使い勝手が悪いです。代わりに、あなたの質問に直接テキストとしてコードを貼り付けてください。それを選択して '{} 'ボタンまたはCtrl + Kをクリックすると、コードブロックは4つのスペースでインデントされ、コードとしてレンダリングされます。 – Chris

+0

クリス様のアドバイスをいただきありがとうございます。私は次回からコードを投稿し、あなたのコマンドは本当に問題の理解に役立ちました。 –

+0

上記のコメントに記載されているコードを含めるには、この質問を編集してください。あなたは次の質問があるまで待つ必要はなく、何らかの理由で編集があっても、この質問を改善することができます。 –

答えて

1

ユーザー・パラメータの型を記述する場合:(?:エラーエラー)

あなたはまた、他のパラメータの型を記述する必要があります(ユーザーのユーザー?)
Auth.auth().createUser(withEmail: email, password: password) { (user: User?, error: Error?) 
    in ... 
} 

また、あなたがこの方法で書くことがあります。

Auth.auth().createUser(withEmail: email, password: password) { user, error in 
    ... 
} 
関連する問題