我有我需要在字典中輸入的JSON數據,然後附加到數組。firebase json反序列化swift
下面一種情況,即應該發生,但我得到的錯誤
這個類不是鍵值爲重點 K0tA3yTnxAWxCFBZoeyAjcr3yYy1順應編碼-「。
let room = rooms[indexPath.row]
if let dictionary = room.members {
let user = User()
user.setValuesForKeys(dictionary)
liveCell.members.append(user)
}
下面是類
用戶
class User: NSObject {
var email: String?
var name: String?
var profileImageUrl: String?
}
房
class Room: NSObject {
var rid: String?
var owner: String?
var groupChatName: String?
var groupChatDescription: String?
var members: NSDictionary?
}
房對象在數據庫
"rooms" : {
"B7C7E469-945E-4327-9473-AAE34FCB9B41" : {
"groupChatDescription" : "123ae",
"groupChatName" : "Test123",
"members" : {
"K0tA3yTnxAWxCFBZoeyAjcr3yYy1" : {
"email" : "[email protected]",
"name" : "Steve",
"profileImageUrl" : "https://firebasestorage.googleapis.com"
}
},
"owner" : "Steve"
}
},
回顧一下,房間是一組房間,房間是特定的房間對象,成員是一組用戶,而成員是特定的用戶。
我已經使用字典方法從我的數據庫中檢索用戶,但我發現數據快照之間存在一些差異。從火力地堡
snapshot.value:
Optional({
email = "[email protected]";
name = Steve;
profileImageUrl =
"https://firebasestorage.googleapis.com";
})
此格式適用於字典
數據快照使用print(room.members)
:
Optional({
K0tA3yTnxAWxCFBZoeyAjcr3yYy1 = {
email = "[email protected]";
name = Steve;
profileImageUrl =
"https://firebasestorage.googleapis.com";
};
})
該格式不因爲我相信字典工作這是因爲關鍵,但我不知道如何擺脫它,因爲這基本上是我如何分隔成員數組中的每個成員。
有什麼建議嗎?
至於什麼liveCell是這裏是一個屏幕截圖,解釋得很好...
這是一個liveCell,你能看到的數據相匹配。黃色矩形是另一個uicollectionview,它包含成員profileimages的數組,其中每個配置文件圖像將位於紅色方框內。
希望這將清除的東西了
有沒有在這個問題缺少一些信息(爲什麼自我。 liveCell?有成員?),它有點不清楚,*成員是用戶數組* *不清楚 - 它似乎被定義爲用戶類中的通用*字典*。也許你的意思是把它定義爲像[Users]這樣的用戶數組?或者也許它應該是一個字典?也許這是另一個陣列?你能否清理這個問題,因爲我認爲答案應該很簡單。 – Jay
@Jay我編輯了這個問題 – Stefan