2017-12-23 10 views
-4

enter image description here유형의 값으로 변환 할 수 없습니다 '(사용자? _) ->()'예상 인수 컨셉 이군 내가 사실은 내가 노력하고이 오류를 해결하기 위해 고군분투

얘들 아 그 오류를 해결하기 위해 고군분투 이 4 개의 문자열과 하나의 그림을 firebase에 보내면이 오류가 발생할 때까지 제대로 작동합니다. 가드

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) { 

// 경우 { 인쇄가 반환 ("양식이 유효하지 않습니다")} 이메일 = emailTextField.text는, 암호 = passwordTextField.text가, 다른 이름 = nameTextField.text을 할 수 있도록 할 uploadData하자 = 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

친절한 조언을 해주신 Chris 씨에게 감사드립니다. 다음 번에 코드를 올리면 귀하의 명령이 문제를 이해하는 데 정말로 도움이되었습니다. –

+0

위 질문에 설명 된 코드를 포함하도록이 질문을 편집 할 수 있습니다. 다음 질문이있을 때까지 기다릴 필요가 없으며, 이유가있을 경우 편집 할 수 있습니다.이 질문을 개선 할 수 있습니다. –

답변

1

당신은 사용자 매개 변수의 유형을 작성하는 경우 : (? : 오류 오류)

당신은 또한 다른 매개 변수의 유형을 작성해야합니다 (사용자 사용자?)
Auth.auth().createUser(withEmail: email, password: password) { (user: User?, error: Error?) 
    in ... 
} 

또한이 방법으로 쓸 수 있습니다 :

Auth.auth().createUser(withEmail: email, password: password) { user, error in 
    ... 
}