【问题标题】:Trouble converting data retrieved from Firebase转换从 Firebase 检索到的数据时出现问题
【发布时间】:2016-07-17 15:10:11
【问题描述】:

我在将接收自 firebase 的数据向下转换为集合类型时遇到问题。我非常感谢任何帮助让我了解我错过了什么或做错了什么。

[FirebaseStructure]

我的功能:

func configureDatabase() {
        self.rootRef = FIRDatabase.database().reference()
        rootRef.child("user1/week1/MON/").observeSingleEventOfType(.Value, withBlock: { (snapshot) -> Void in
            for child in snapshot.children {
                let snap = child as! FIRDataSnapshot
                let fetchedObject = snap.value
                //This results <AnyObject>
                print(fetchedObject.dynamicType)

})

}

当我尝试将 fetchedObject 转换为 [String: AnyObject] 或 [String: String] 类型的字典时 -

 let fetchedObject = snap.value as! Dictionary[String: AnyObject]

它抛出一个错误 - 无法将“__NSCFString”(0x1043e5090) 类型的值转换为“NSDictionary”(0x1043e5d60)。

如果有帮助的话,这里是 print(fetchedObject) 的控制台输出:

Optional({
    medicine = Azithromycin;
    time = 0700;
})
Optional({
    medicine = Azithromycin;
    time = 1800;
})

【问题讨论】:

    标签: swift firebase firebase-realtime-database


    【解决方案1】:

    好的!我解决了这个问题!执行了一个干净的操作,然后将 firebase 数据库持久性更改为 false,之前是 true。

     FIRDatabase.database().persistenceEnabled = false
    

    这解决了问题!显然,我猜该应用程序正在从缓存中加载数据,所以我没有得到正确的数据。

    【讨论】:

      猜你喜欢
      • 2019-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多