Ida*_*viv 6 ios firebase swift firebase-realtime-database
我有一个应用,在用户使用Firebase身份验证后,它会将数据存储在Firebase数据库中.在存储数据之前,我想检查用户提供的用户名是否已存在于数据库中.因此,如果它不存在,我可以给用户这个唯一的用户名(就像每个用户都有一个唯一的用户名).所以我有一个textField用户输入用户名的地方,然后按下一步.然后应用程序应检查用户名是否存在,并告诉用户是否需要更改用户名.
所以我用来检查用户名是否存在的代码:
        let databaseRef = FIRDatabase.database().reference()
        databaseRef.child("Users").observeSingleEventOfType(.Value, withBlock: { (snapshot) in
            if snapshot.hasChild(self.usernameTextField.text!){
                print("user exist")
            }else{
                print("user doesn't exist")
            }
        })  
因此,每次按下下一个按钮时,都会调用此代码.这样做的问题是结果始终与第一次搜索相同(即使在textField值更改之后).例如,如果我搜索Jose,并且Jose存在于我的数据库中,那么将打印"user exists".但是当我更改textField不存在的名称时,它仍然显示"用户存在".
我发现我需要将其更改.Value为FIRDataEventType.Value
 if (usernameTextField.text?.isEmpty == false){
        let databaseRef = FIRDatabase.database().reference()
         databaseRef.child("Users").observeSingleEventOfType(FIRDataEventType.Value, withBlock: { (snapshot) in
            if snapshot.hasChild(self.usernameTextField.text!){
                print("true rooms exist")
            }else{
                print("false room doesn't exist")
            }
        })
| 归档时间: | 
 | 
| 查看次数: | 8203 次 | 
| 最近记录: |