gpt4 book ai didi

ios - Firebase iOS - 键/值对并未从数据库中物理删除

转载 作者:行者123 更新时间:2023-11-30 11:19:03 25 4
gpt4 key购买 nike

我将所有用户名保存在一个单独的节点中,以便在用户搜索用户名时运行搜索。我从节点中删除了一个名称,例如。 披萨男。问题是,即使它删除了,如果我从应用程序内对已删除的名称进行搜索,它会说它可用,但当我实际查看数据库内部时,它显示它实际上仍然存在(意味着它不应该可用)。 这怎么可能?

@IBAction func deleteUsernameButtonTapped(_ sender: UIButton) {

// the user's username is pizzaMan
let username = usernamesRef?.child("pizzaMan")
userName?.observeSingleEvent(of: .value, with: { (snapshot) in

if snapshot.exists() {

let key = snapshot.key

username?.child(key).removeValue()
print("username: \(key) has been deleted\n")
}
})
}

用户名 PizzaMan 已被删除,但在数据库中显示它仍然存在。

enter image description here

enter image description here

let checkUsernameTextField = UITextField()
checkUsernameTextField.addTarget(self, action: #selector(handleSearchForUsername), for: .editingChanged)

@objc func handleSearchForUsername() {

// now search for pizzaMan inside a textField
usernamesRef?.observeSingleEvent(of: .value, with: { (snapshot) in

if snapshot.exists() {

print("name is NOT avail")
} else {
print("name IS available") // this prints when searching for pizzaMan even though it's inside the db??
}
})
}

如果我尝试获取它,我可以用任何新值覆盖旧值,但一旦删除它仍然不应该显示在数据库中。

最佳答案

如果我理解您的问题,您的问题就出在您的删除函数中。

让我重申一下我认为您所说的内容。您希望完全删除 PizzaMan 的节点,是吗?试试这个:

@IBAction func deleteUsernameButtonTapped(_ sender: UIButton) {

// the user's username is pizzaMan
if let username = usernamesRef as? DatabaseReference{
username.child("usernames/pizzaMan").removeValue()
}
else{
print("Errors")
}

}

这是你打算做的吗?

关于ios - Firebase iOS - 键/值对并未从数据库中物理删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51487653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com