【问题标题】:Swift, Firebase. Checking if name already exist doesn't work斯威夫特,火力基地。检查名称是否已存在不起作用
【发布时间】:2016-06-24 19:54:33
【问题描述】:

我正在尝试制作一个应用程序,您必须在其中选择一个团队名称,当用户输入他/她的团队名称时,我想检查该名称是否已在使用中。

teamNameTextField 是UITextField,出于某种原因,无论我在文本字段中输入什么内容,它都会打印“团队名称未使用”。我不知道我在这里做错了什么,有人可以帮助我吗?

我的代码:

rootRef.child("teams").queryOrderedByChild("teamName").queryEqualToValue(teamNameTextField.text).observeSingleEventOfType(.Value, withBlock: { (snap) in

    if (snap.value is NSNull) {
        print("Team name is not in use")
    } else {
        print("Team name is already in use")
    }
})

我的 JSON 数据树:

{
  "teams" : {
    "pbXvXYOKmJQqwSQZ9IlBykG7x1P2" : {
      "teamName" : "Test111"
    },
    "owidUDkEnbCOsmNSoSFu2o2iu4y38RKJNF" : {
      "teamName" : "Test222"
    },
    "pdnJCDmcdjsiHDFb8349HGD8372bfdhb" : {
      "teamName" : "Test123"
    }
  }
}

我的数据库规则:

{
  "rules": {
    ".read": true,
    ".write": true
  }
}

【问题讨论】:

  • 当您在代码中硬编码团队名称时会发生什么?喜欢"Test111"
  • 谢谢,你让我意识到了问题,我会用解决方案回答我自己的问题

标签: swift firebase firebase-realtime-database


【解决方案1】:

我意识到了问题!

我尝试输入print(teamNameTextField.text),它打印出:"Optional("Test111")"

所以你必须在teamNameTextField.text之后放一个!,那么它只会打印"Test111"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-02
    • 1970-01-01
    • 2017-04-15
    • 2016-12-31
    • 1970-01-01
    • 2015-11-26
    • 2017-07-22
    • 2017-03-24
    相关资源
    最近更新 更多