作者:卖火柴的萌小猪_966 | 来源:互联网 | 2023-02-13 11:32
在文档中,它说我应该使用此代码来设置新值:
self.ref.child("users").child(user.uid).setValue(["username": username])
这样,我可以设置用户名.但是,如果我想稍后添加其他值,比如XP点,我使用以下代码行:
var XPPoints = 1
self.ref.child("users").child(user.uid).setValue(["XPPoints": XPPoints])
但是,这会删除用户名值或之前存储的任何其他值.它取代了所有价值.我还尝试了文档所说的第二件事:https://firebase.google.com/docs/database/ios/read-and-write#basic_write这是这行代码:
self.ref.child("users/(user.uid)/username").setValue(username)
这会在启动时立即崩溃我的应用程序.我的问题是:如何添加数据,而不是替换旧值?
编辑:通过将代码更改为:self.ref.child("users/\(user.uid)/ username")来修复它.setValue(username)
1> 小智..:
您的解决方案不应该解决您遇到的问题.你需要使用updateChildValues
而不是setValue
.这会添加值而不是覆盖引用节点中的所有内容.