Swift Firebase Snapshot查询缺少子级

时间:2018-08-02 11:26:49

标签: ios swift firebase firebase-realtime-database snapshot

我将一些设置存储在Firebase数据库中,并通过应用程序达到此设置。前三个设置可以正常工作,但是当我尝试添加一个新设置时,我无法达到目的。

我使用的代码:

    func getLanguage(){
    ref = DatabaseRef.settingsRef
    //ref.observe(.value, with: { (snapshot) in
    ref.observeSingleEvent(of: .value, with: { (snapshot) in
        let valueL = snapshot.value as? NSDictionary
        if (valueL?.count)! > 0 {
            self.lang = ((valueL!["lang"])! as? String)!
        }
     })
}

DatabaseRef是用于存储所有引用的结构文件。设置参考:

static let settingsRef = Database.database().reference().child("events").child(event).child("settings")

运行此方法时,我在 self.lang =((valueL![“ lang”])!as?String)!上收到此错误代码!

  

线程1:致命错误:在展开可选值时意外发现nil

当然,我再次检查了我的数据库结构和路径,但是我无法弄清楚问题出在哪里,因为我的设置数据库看起来像这样:

     "settings" : {
         "contLog" : "true",
         "lang" : "en",
         "showStat" : "true",
         "useGate" : "true"
  },

快照如下:

snapshot

PS:我知道“ true”不是布尔值,仅用于字符串测试。

1 个答案:

答案 0 :(得分:0)

感谢您的回答,这是一个缓存问题。 当我从手机(和模拟器)中删除该应用程序并进行重建时,一切正常。 iOS以某种方式存储了较旧的快照。