我有以下Firebase数据结构:
"Group" : {
"34923493" : {
"Name" : "Group 1"
"Users" : {
joeshmoe : true
janedoe : true
}
etc.....
}
}
我想将以下内容添加到“用户”部分:
johndoe : true
当用户加入群组时。我有以下代码
self.ref.child("Group").child(groupID!).child("Users").setValue([user?.username : true])
但是我收到以下错误:
"Contextual type'Any' cannot be used with dictionary literal"
我不确定我做错了什么?
答案 0 :(得分:0)
您的代码有两个问题。
您获得的错误很可能是由成员变量username
属于Any
类型引起的。所以,只需将其转发到String
[user?.username as! String: true]
这一行
self.ref.child("Group").child(groupID!).child("Users").setValue([user?.username : true])
将从字典中删除所有其他用户。您可以将[user?.username: true]
分配给该子项,删除已存在的字典值。
直接更新字典键,如下所示:
self.ref.child("Group").child(groupID!).child("Users").child(user?.username as! String).setValue(true)