【发布时间】:2021-10-09 20:52:47
【问题描述】:
我正在尝试使用以下代码将字典保存到 Firebase 数据库。相当简单的代码,应该只写如下内容:
Genre
fileName:
user
fileName2:
user2
fileName3:
user3
fileName4:
user4
等等...所以它基本上是一个由用户值组成的文件名数组。但它一直给我一个错误,如下所示。
(setValue:) 路径中的对象中的无效键: 。键必须为非空且不能包含“/”“。” '#' '$' '[' 或 ']''
你可以看到我的代码如下: 我正在尝试将值设置为 [fileName: username] 这是一个字典数组,然后将它们设置在“流派”的子级下。为什么会发生此错误?我该如何解决?
谢谢。
public func insertPostsToDB(with fileName: String, user: String, genre: String, completion: @escaping (Bool) -> Void) {
guard let username = UserDefaults.standard.string(forKey: "username") else {
return
}
database.child("\(genre)").setValue([fileName : username])
}
【问题讨论】:
-
从 .child 中删除 \ 并像 database.child("genre").setValue... 一样使用它。
-
错误提示您的文件名或用户名为空。您是否已打印或使用调试器来确保它们具有值(
""除外)? -
我得到了文件名和流派的值
-
值是文件名:1628150362.236193F37E7016-0F8B-4474-BAF2-AC9560F1624B_895_.mov,流派:摇滚
标签: ios swift firebase firebase-realtime-database