0
我想將一個用戶數組解壓縮爲一個字符串。將NSArrays解壓縮爲字符串swift
例如在我的應用程序中有羣聊,每次用戶進入羣聊時,他們的用戶名都被添加到成員列表中。我想以應用程序中的字符串的形式返回單個羣聊中的所有成員。如下面的數據對象
class Room: NSObject {
var owner: String?
var groupChatName: String?
var groupChatDescription: String?
var members: [NSArray]?
}
下面是其中I從數據庫檢索每個房間
每個房間都在代碼表示。
func fetchAllRooms(){
Database.database().reference().child("rooms").observe(.childAdded, with: {(snapshot) in
if let dictionary = snapshot.value as? [String: AnyObject] {
let room = Room()
room.setValuesForKeys(dictionary)
self.rooms.append(room)
print(snapshot)
print(room.members?.joined())
print(self.rooms.count)
DispatchQueue.main.async(execute: {
self.collectionView?.reloadData()
})
}
print("end of snap")
}, withCancel: nil)
}
print(room.members?.joined())
是什麼目前正在崩潰的應用程序,並拋出 'NSInvalidArgumentException' 的,理由是:
' - [__ NSDictionaryI objectAtIndex:]:無法識別的選擇發送到實例0x60800146ab80'
我意識到它可能是我的數據是如何構造的,所以在這裏看看json
"A632CA68-40D9-4F3A-B8C8-245457057443" : {
"groupChatDescription" : "Test Description",
"groupChatName" : "Test Name",
"members" : {
"WuqCAt4mM3h0P0X1m7hVZ7NQyLC2" : {
"username" : "Steve"
}
},
"owner" : "Steve"
},
任何答案,建議,或參考非常感謝。
是否可以在下載值後向字典添加值。我知道,通常如果他們不匹配的應用程序將崩潰。 – Stefan
因此,從字典中您可以訪問其密鑰的值。因此,在Model類屬性中設置該值。這有道理嗎? –