这是一个我猜的快速
我试图在我的应用中使用Firebase数据库,而我正在按照教程说的那样进行安装。在我的AppDelegate中,我已经放了所需的代码:
import UIKit
import Firebase
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
FirebaseApp.configure()
return true
}
在我要使用数据库的viewcontroller中,我试图声明一个FIRDatabaseReference
var ref:FIRDatabaseReference!
但接着我收到了这条消息:
Use of undeclared type 'FIRDatabasereference'
我该怎么办?我已经在这个特定的viewcontroller中导入了Firebase
答案 0 :(得分:2)
刚刚发现:在此viewController中需要import FirebaseDatabase
代替import Firebase
答案 1 :(得分:1)
import Firebase
var ref:FIRDatabaseReference = Database.database().reference() //this will give you a ref for database
func viewDidLoad(){
ref//you can directly use the reference over here
}
或者您可以使用
import Firebase
var ref:FIRDatabaseReference?
func viewDidLoad(){
ref = Database.database().reference() //or any other refrence of child you want to use
}
答案 2 :(得分:1)
Firebase 是父库, FirebaseDatabase 是其子库。因此,如果您导入 Firebase ,则无需导入 FirebaseDatabase ,这就是为什么Xcode AutoComplete在库中显示不需要包含的红线的原因。 这不是问题。
问题是您正在尝试访问 FIRDatabaseReference ,在应用程序的初始加载期间键入Firebase库中的内容,即您应用中的每个类执行以分配与该类关联的一些全局或 init 函数/变量。当您的 ViewController :
时,可能会出现这种情况var ref:FIRDatabaseReference!
正在尝试访问该类型的 FIRDatabaseReference 。即Firebase库尚未由编译器编译,因此 FIRDatabaseReference 是一种仍然不存在的类型。
解决方案 :
var ref:FIRDatabaseReference? = nil
答案 3 :(得分:0)
尝试使用此
import UIKit
import Firebase
let databaseRef = Database.database().reference().child("message")
我的Pod文件 - 请确保我们为您安装了适用于Firebase数据库的pod
pod 'Firebase/Core'
pod 'Firebase/Auth'
pod 'GoogleSignIn'
pod 'Firebase/Storage'
pod 'Firebase/Database'
答案 4 :(得分:0)
我也有同样的问题。下面给出的代码解决了我的问题。
import UIKit
import FirebaseDatabase
class ViewController: UIViewController {
var ref : DatabaseReference?
override func viewDidLoad() {
super.viewDidLoad()
ref = Database.database().reference()
}
}