找不到从字符串插值段转换的成员

could not find member convert from string interpolation segment

我的 firebase JSON 文件中有一个用户 class .. 它有以下子节点:

我试图从我的应用程序输入登录用户的年龄并在 JSON 文件中更新它。

我写了代码:

ref.childByAppendingPath("users\(ref.authData.uid)/Age")
   .updateChildValues(AgeTextField.text)

但它给出了错误:

could not find member convert from string interpolation segment

请帮我写哪一行代码来更新登录用户的年龄和其他信息?

插值看起来是正确的。但是,您很可能未通过身份验证。 authData 属性 仅当用户已通过 Firebase 数据库的身份验证时才存在。

updateChildValues函数还有一个问题。

updateChildValues 需要 [String: AnyObject] 的字典。这是一个非破坏性的更新。它只会更新字典中提供的值。

试试这个。

ref.childByAppendingPath("users\(ref.authData.uid)")
  .updateChildValues(["age": AgeTextField.text])

但是如果您真的想深入了解 Age 节点,您可以使用 setValue 进行字符串更新。

ref.childByAppendingPath("users\(ref.authData.uid)/Age")
  .setValue(AgeTextField.text)

setValue 是破坏性更新。这意味着它将替换该节点位置的所有内容。但是,由于您只访问一个节点的单个 属性,更新是否具有破坏性并不重要。