繁体   English   中英

如何快速从Firebase中为用户获取特定数据?

[英]how can i get a specific data for a user from firebase in swift?

我试图创建一个用户信息数据库,并通过使用Firebase为每个单个用户观察它们。 我认为创建部分运行良好,但是当我调用observeSingleEvent并打印快照值时,它表示快照为空。 你们能帮我吗?

这是我的Firebase数据库控制台显示的内容;

>sinav-be280
>>member
>>>'SffbOC1UoYcmfBNCrjn2aOhFM4F2'
>>>>mail: "1@1.com"

>>>>name: "1"

>>>>password: "123123"

>>>>phone: "1"

这是我的代码

func createUserIfno() {
  let userInfoDB = ref.child("member")

  let userDictionary = [
    "name": self.nameTextView.text!,
    "phone": self.phoneNumberTextField.text!,
    "mail": Auth.auth().currentUser ? .email!,
    "password" : self.passwordTextField.text!,
  ]
  userInfoDB.child(userID!).setValue(userDictionary) {
    (error, reference) in

    if error != nil {
      print(error!)
    } else {
      print("info saved")
    }
  }
}

func printUserInfo() {
  let userInfoDB = ref.child("member").child(userID!)
  userInfoDB.keepSynced(true)
  userInfoDB.observeSingleEvent( of: .value, with: {
    (snapshot) in
    if !snapshot.exists() {

      print("snapshot does exist")
      print(snapshot)
      return
    }
  })
}

它说 ;

snapshot does exist
Snap (1jMpyCCbt0crfUdINnlSupRdcqk1) <null>

而且我什至不知道1jMpyCCbt0crfUdINnlSupRdcqk1 ID是什么。

其实我玩了一点代码并解决了问题。

在我的应用程序中,我编写了用于分别创建用户和创建数据库的代码,因此在firebase中,第一个用户ID以某种方式进入第二个用户的信息列表,第二个进入第三个用户信息列表。 所以我在createUser函数中调用了我的createUserInfo函数,并解决了问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM