我正在尝试将Swift 4 Decodable
改编为我的Firebase数据库创建的JSON:
{
"sections" : {
"-KxVQoo6ElOVhoFliQ5s" : {
"details" : "Residents",
"row" : "0",
"section" : "0",
"task" : "Do evals"
},
"-KxVQooF5rNNNOKrlXT9" : {
"details" : "Phone",
"row" : "0",
"section" : "1",
"task" : "Do bills"
}
}
}
当autoID添加元素时,Firebase会创建新的唯一ID。我正在尝试创建一个允许我存储Firebase JSON数据的对象。在线的所有示例中,始终显示名称和值。在上面的例子中,uniqueID就是值。我正在寻找如何创建一个类,当只有一个唯一的值时,该类可用于解码数据。
答案 0 :(得分:1)
当您的密钥动态时,Dictionary
可能更合适。例如:
struct Data: Decodable {
var sections: [String: Element]
}
然后像往常一样定义Element
类型:
struct Element: Decodable {
var details: String
var row: String
var section: String
var task: String
}
始终值得记住,Dictionary
也是Decodable
类型(只要其键和值也可解码)。