我是 Firebase 框架的新手,所以在我试图完成的教程中,作者仅通过调用 updateChildValues 函数来创建新值。
@objc func handleRegister () {
guard let email = emailTextField.text, let password = passwordTextField.text else {
print("Form is not valid")
return
}
Auth.auth().createUser(withEmail: email, password: password) { (user, error) in
if error != nil {
print(error)
return
}
//successfully authenticated user
let ref = Database.database().reference(fromURL: "https://my-awesome-project-18f30.firebaseio.com")
ref.updateChildValues([ "someValue" : 123123])
}
所以看起来 updateChildValues 函数不仅更新旧值,而且(另外)创建新值(如果它之前不存在)。我试图在网络上搜索任何提及的内容,但只找到重新分级更新旧值的信息,而没有关于创建新值的信息(如果旧值以前不存在的话)。我对 updateChildValues func 的想法是真的吗?
最佳答案
是的,updateChildValues 就像 HTTP 方法中的 PUT。如果键的值存在,则更新它。否则,如果该值不存在,则创建该值。
作为Frank van Puffelen , 说
Firebase 自动为每个值创建键,并自动删除没有值的键。知道了这一点,您确实可以看到 updateChildValue 也可用于创建值,并通过使用空值更新它们来删除键。
关于ios - updateChildValues 似乎不仅更新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50376139/