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类属性中设置该值。这有道理吗? –