ios - Firebase 和线程 1

标签 ios json swift firebase firebase-realtime-database

每当我添加我的 firebase 代码时,我都会获得自主权:

class AppDelegate: UIResponder, UIApplicationDelegate {      THREAD 1 SIGNAL SGABRT

我已经从 View Controller 脚本中取出所有与 Firebase 相关的代码,它运行顺利,没有错误。我正在使用 swift 3 并尝试更新我的 pod,但也没有成功。这是我确定必须导致错误的代码。

    var ref = FIRDatabase.database().reference()

那是在我的脚本和我所有其他声明的开头。还有……

        ref.child("Agent1").observeSingleEvent(of: .value, with: { (snapshot) in

        let value = snapshot.value as? NSDictionary
        self.FnameA1 = value?["Fname"] as? String ?? ""
        print("\(self.FnameA1)")

    }) { (error) in
        print(error.localizedDescription)
    }

这是我尝试从数据库中获取数据并将本地变量 (FnameA1) 设置为数据库中的字符串的地方。虽然我在编译时没有出错,但我知道错误一定在那里。我将在下面显示我的数据库的格式,以防错误来 self 从中获取数据的方式。

{
  "Agent1" : {
    "Edition" : "Standard 17",
    "Fname" : "L.",
    "Lname" : "James",
    "Ovr" : 95,
    "Pos" : 3,
    "Price" : 1000000
  }
}

最佳答案

您收到此错误是因为您在配置 Firebase 之前尝试使用 de Firebase 引用。在您的日志中,您应该会看到类似这样的消息:

*** Terminating app due to uncaught exception 'FIRAppNotConfigured', reason: 'Failed to get default FIRDatabase instance. Must call FIRApp.configure() before using FIRDatabase.'

您可以通过先创建变量,然后再设置值(实际引用)来解决此问题。

var ref : FIRDatabaseReference?

然后在你的函数中:

ref = FIRDatabase.database().reference()
ref.child("Agent1").observeSingleEvent(of: .value, with: { (snapshot) in

    let value = snapshot.value as? NSDictionary
    self.FnameA1 = value?["Fname"] as? String ?? ""
    print("\(self.FnameA1)")

关于ios - Firebase 和线程 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41082729/

相关文章:

swift - 如何从终端检测 FileHandle.standardInput 的文件结尾

swift - 给定大小的集合作为 Swift 类型

ios - Alamofire POST 请求不工作

ios - Swift 4 - 将类结构的 JSON 响应嵌套到 TableViewCell 中

ios - 当用户拖动 MKMapView 时,如何为 UIImageView 设置动画?

ios - 无法访问资源文件

javascript - jQuery 中的正则表达式困惑 (1.5.2)

jquery - Facebook 支持 jsoncallback= 吗? (JSONP)

json - 通过 json 搜索 wordpress

swift - NSString 扩展方法不调用 String 扩展方法