2017-10-27 8 views

答えて

1

ユーザーのプロファイル情報を取得するには、FIRUserのインスタンスのプロパティを使用します。例:

let user = Auth.auth().currentUser 
if let user = user { 
    // The user's ID, unique to the Firebase project. 
    // Do NOT use this value to authenticate with your backend server, 
    // if you have one. Use getTokenWithCompletion:completion: instead. 
    let uid = user.uid 
    let email = user.email 
    let photoURL = user.photoURL 
    // ... 
} 

詳細については、Firebase Documentationを参照してください。

1

それはあなたのUID(またはユーザ)の場合:

if let userUID = Auth.auth().currentUser?.uid{ 
    %firebaseReferenceVariable%.child("Users/\(userUID)").observeSingleEvent(of: .value, with: { snapshot in 
     if snapshot.value is NSNull{ 
      //handles errors 
      return 
     } 
     else{ 
      if let selectedUser = snapshot.value as? NSDictionary //OR [Stirng: Any]{ 
       let mobileno = selectedUser["mobileno"] as! String 
       //Do something with mobileno 
      } 
     } 

    }) 
} 

あなたはfirebase参照呼び出しの任意の文字列値を持つ変数userUIDを置き換えることができ、それは、そのユーザーを取得します - 私があれば(あなたをお勧めしますあなたのアプリケーションからこれらのユーザにアクセスしようとしている)は、すべてのユーザでtableViewまたはcollectionView(何らかのタイプのリスト)を読み込みます。また、すべてのユーザーを取得して、必要なものをループすることもできます(このユーザーを表示するにはブール変数があるかどうかを考えてみましょう)。

1

Observe Blockを使用してチャットアプリケーションで更新されるたびにデータを取得する必要があるため、以下のコードをご覧ください。 1つのイベントを観測してデータを取得し、最後にオブザーバも削除することができます。

Database.database().reference().child("users").child(your Key value).observe(.value, with: { (snapshot) in 

     if snapshot.exists(){ 

      print(snapshot) 

      if let snapDict = snapshot.value as? [String:AnyObject] { 

       //here you can get data as string , int or anyway you want 
       self. mobilenoLabel.text = snapDict["mobileno"] as? String 


      } 

     } 

    }) 
関連する問題