[英]How to get a specific value in firebase-realtime-database in swift 4.0
[英]Get a database reference in the new Firebase 4.0 release
在Firebase 3.0+中,获取数据库引用的方法如下:
var ref: FIRDatabaseReference!
ref = FIRDatabase.database().reference()
ref.child("rooms").observeSingleEventOfType(.Value, withBlock: { (snapshot) in
if snapshot.hasChild("room1"){
print("true rooms exist")
}else{
print("false room doesn't exist")
}
})
在Firebase 4.0中,命名约定已更改,但我无法使其工作!?
var ref: DatabaseReference!
ref = Database.database().reference()
有人遇到过这种情况么?
swift编译器建议从小写数据库函数调用中删除()
如果你删除它,它然后抛出错误消息:
那你怎么得到参考呢?
Pod文件:
pod 'Firebase/Core'
pod 'Firebase/Database'
需要更新firebase文档。 1.在课堂顶部导入这两个
import FirebaseCore
import FirebaseDatabase
override func viewDidLoad(){
super.viewDidLoad()
var ref: DatabaseReference!
ref = Database.database().reference()
}
您的语法似乎对我来说(对于新的Firebase 4 ):
var ref: DatabaseReference!
ref = Database.database().reference()
并且,查看他们的源代码( FIRDatabase.h
) ,您所做的一切都完美匹配:
FIR_SWIFT_NAME(Database)
@interface FIRDatabase : NSObject
+ (FIRDatabase *) database FIR_SWIFT_NAME(database());
- (FIRDatabaseReference *) reference;
你确定你使用的是最新的SDK版本吗? 作为最后的手段,试试这个:
pod cache clean
rm Podfile.lock
rm -rf Pods
pod install
rm -rf DerivedData
对于Firebase 4.0,有一个变化
链接: https : //firebase.google.com/docs/reference/ios/naming-migration-guide
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.