我正在通过Firebase实时数据库开发实时聊天应用程序,因此消息发送成功,但是在那之后我试图获取消息列表,这时我就崩溃了
这是我尝试过的一些代码,我想告诉你,请看一下我的代码
var ref: DatabaseReference!
viewDidLoad()内部
ref = Database.database().reference()
func loadMessageData() {
self.ref.child("Message").observe(.childAdded, andPreviousSiblingKeyWith: { (snapshot, str) in
print(snapshot)
if let dictonary = snapshot.value as? [String:AnyObject] {
print(snapshot)
}
}, withCancel: nil)
}
错误消息
致命错误:在隐式展开可选值时意外发现nil
2019-06-25 09:50:52.088617 + 0530 SMSApp [4378:1003736]致命错误:意外发现nil,而隐式展开了一个可选值
答案 0 :(得分:0)
为DBHelper创建类
import Foundation
import FirebaseDatabase
import FirebaseStorage
class DBProvider
{
private static let _instance = DBProvider()
private init () {}
static var Instance:DBProvider{
return _instance
}
var dbRef:DatabaseReference{
return Database.database().reference()
}
var userRef:DatabaseReference{
return dbRef.child(CONSTANT.DBPROVIDER.USER);
}
var messageRef:DatabaseReference{
return dbRef;
}
}
用法
DBProvider.Instance.messageRef.child("Your Key").observe(.childAdded){(snapShot:DataSnapshot) in
if let data = snapShot.value as? [String:Any]
{
print(data)
}
}