在哪里添加来自 iOS 上 Firebase 的数据库引用?

Posted

技术标签:

【中文标题】在哪里添加来自 iOS 上 Firebase 的数据库引用?【英文标题】:Where do I add the database reference from Firebase on iOS? 【发布时间】:2016-06-27 05:49:12 【问题描述】:

我正在遵循link 在 ios 应用程序上安装和设置实时数据库的说明 我很困惑在哪里添加声明 self.ref = FIRDatabase.database().reference() 在我的 xcode 应用程序中。哪个文件或位置?

【问题讨论】:

【参考方案1】:

Firebase 4.0 及更高版本: 确保将以下内容添加到 Podfile!在添加此内容之前,我遇到了与您相同的问题(可在 Firebase 设置教程的上一页找到)。

pod 'Firebase/Database'

如果你和我一样,你忽略了它,因为你以为你已经在 Firebase 设置教程中添加了这一行,但是在设置中添加的那一行是:

pod 'Firebase/Core'

添加后,它应该可以工作。通用视图控制器如下所示:

import Firebase
import FirebaseDatabase

class GenericViewController: UITableViewController 

    var ref: DatabaseReference!

    override func viewDidLoad() 
        super.viewDidLoad()

        ref = Database.database().reference()
    

这让我停留了一段时间 - 我希望这会有所帮助! :)

【讨论】:

【参考方案2】:

下面是代码。

import UIKit
import Firebase
import FirebaseAuthUI


class ExampleVC: UIViewController, UINavigationControllerDelegate 

    var ref: FIRDatabaseReference!

    override func viewDidLoad() 
        super.viewDidLoad()

        //if user is signed in
        configureDatabase()
    

    func configureDatabase() 
        //Gets a FIRDatabaseReference for the root of your Firebase Database.
        ref = FIRDatabase.database().reference()
    


【讨论】:

这不再适用于 2017 年 5 月 17 日发布的 Firebase 4.0【参考方案3】:

在 appDelegate 文件中定义变量如下(全局)

var ref: FIRDatabaseReference!

在 Appdelegate 文件中添加上述语句(DidfinishlaunchingwithOption 方法),以便在您的应用启动时初始化您的数据库。

self.ref = FIRDatabase.database().reference()
在此之后添加与火力基地相关的所有其他方法或所有语句。

【讨论】:

这没有回答问题 - AppDelegate 中没有 ref 变量,因此无法编译。【参考方案4】:

说明不清楚。为了让您能够在 AppDelegate 中为“ref”赋值,您必须首先声明一个“ref”属性,因为该属性当前不存在。

将其与您的属性声明一起放入您的 AppDelegate:

var ref: FIRDatabaseReference!

然后将该行放在 applicationDidFinishLaunching 方法的文档中,您的代码将编译。是否要在 AppDelegate 中保留该属性是另一个问题。

【讨论】:

以上是关于在哪里添加来自 iOS 上 Firebase 的数据库引用?的主要内容,如果未能解决你的问题,请参考以下文章

iOS 未收到来自 Firebase 云消息传递的通知

将 Firebase 数据库添加到 iOS 部分时遇到问题

在 iOS 上接收来自 firebase 的通知的奇怪行为

来自 Firebase 的应用(Android 或 iOS)中的提醒通知

动态链接 Firebase

IOS:消息不会立即出现在来自 firebase 数据库的 tableview 中