【发布时间】:2017-07-30 22:39:49
【问题描述】:
我想将一组用户解压成一个字符串。
例如,在我的应用中有群聊,每次用户进入群聊时,他们的 uid 都会添加到成员列表中。我想在应用程序中将单个群聊中的所有成员作为字符串返回。
每个房间在代码中表示为以下数据对象
class Room: NSObject {
var owner: String?
var groupChatName: String?
var groupChatDescription: String?
var members: [NSArray]?
}
下面是我从数据库中检索每个房间的地方。
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"
},
非常感谢任何答案、建议和/或参考。
【问题讨论】:
标签: json swift firebase-realtime-database nsarray