【问题标题】:Issue retrieving data from Firebase Swift 3.0从 Firebase Swift 3.0 检索数据的问题
【发布时间】:2017-05-17 01:18:28
【问题描述】:

由于某种原因,我无法从 Firebase 检索数据。基本上代码“跳过”了参考部分并继续前进,我不知道它为什么这样做。我试图查看有关 StackExchange 的文档以及其他问题,但我无法找出问题所在。请帮忙。谢谢!

func getMeta() {

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

        let value = snapshot.value as? NSDictionary

        if let actualValue = value {

            print(actualValue)

        }
    })
}

我实际上想用 actualValue 做更多的事情,但我什至无法获得打印它的代码。 Firebase json 如下所示:

{
  "Meta" : {
    "Levels" : {
      "LevelOne" : [ "q0001", "q0002" ],
      "LevelTwo" : [ "q0003" ]
    },
    "Topics" : {
      "France" : { 
           0: "q0001", 
           1: "q0002" },
      "UK" : {
           0: "q0003" }
    }
  }
}

当我尝试时

print(snapshot) 

代码跳过该部分后,我收到此错误

error: <EXPR>:3:1: error: use of unresolved identifier 'snapshot'
snapshot ^~~~~~~~

【问题讨论】:

  • 所以为了澄清“跳过 ref 部分”——如果你在闭包内添加一个断点(就在 let value = snapshot... 上方),它不会被命中?
  • @JohnZ :是的,它没有命中。它跳到关闭的末尾。
  • @PauloMattos 是的,它不是零
  • 如果你 print(ref.url) 看起来对吗?
  • 你确定它永远不会被打印出来吗? .observe 函数正在异步工作

标签: ios swift firebase firebase-realtime-database


【解决方案1】:

如果您使用 Firebase 身份验证登录, 退出并重试。

我在 Firebase 控制台中手动删除了该用户,但在我的应用中我仍然使用该用户登录。 我退出了,代码不再跳过 ref 部分。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-17
    • 1970-01-01
    • 1970-01-01
    • 2016-12-30
    相关资源
    最近更新 更多