【发布时间】:2016-03-04 17:30:15
【问题描述】:
我正在尝试通过 UI 中的 @IBAction 从用户那里获取用户名。
我的目标是检查用户名是否已存在于 Firebase 中。如果不存在,则注册它。如果它确实存在,我想做一些其他的事情。
这是我的代码。
@IBAction func enterUsername(){
let enteredUsername = usernameText!.text!
let namesRef = ref.childByAppendingPath("/usernames/\(enteredUsername)")
namesRef.observeEventType(.Value, withBlock: {
snap in
if (snap.value is NSNull){
let userNameAndUUID = ["Username" : enteredUsername, "UUID" : self.appDelegate.UUID]
namesRef.setValue(userNameAndUUID)
print("first block")
}else {
print("second block")
//do some other stuff
}
})
}
我遇到的问题是,如果用户名是唯一的(不存在),那么 if/else 的两个打印语句都在运行。 输出: 第一块 第二块
如果名称不是唯一的,则它正确地跳过了 if/else 的 if 部分。
为什么 if/else 语句的两个部分都在运行?
感谢您的帮助。
【问题讨论】: