我正在创建一个简单的聊天应用程序来学习Swift和Firebase.我有一个查询,检查聊天室的消息加载到tableView中.查询返回快照,但我无法正确存储和加载数据.我从快照创建了一个字典,所以我可以获得各个子值,但它们返回nil:
query.observeSingleEvent(of: .childAdded, with: { snapshot in
print(snapshot)
let indexPaths = self.messages.enumerated().map {
IndexPath(row: $0.0, section: 0)
}
guard let messagesDict = snapshot.value as? [String:AnyObject] else { return }
guard let sender = messagesDict["sender"] as? String else { return }
guard let text = messagesDict["text"] as? String else { return }
guard let timestamp = messagesDict["timestamp"] as? Int else { return }
let message = Message.init(key: snapshot.key, sender: sender as! String, text: text as! String, timestamp: timestamp)
self.messages.append(message)
self.tableView.reloadData()
}) …Run Code Online (Sandbox Code Playgroud)