Firebase数据库不同步 - Swift

时间:2017-11-23 06:43:16

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

我已经在我的项目中启用了持久性,但现在我有一种奇怪的行为。该应用程序现在与我的数据库不同步,需要打开和关闭,以更新我的数据库中的信息。

我了解到我需要使用keepSync来使数据库保持同步,但这在某种程度上无法正常工作。

示例:

我的数据库中有这些信息。

enter image description here

因此,要获取数据,我使用此代码:

ref?.child("Offers").observe(.childAdded, with: { (snapshot) in

            if let object = snapshot.value as? [String:AnyObject] {
                nearStores.append((object["Store"] as? String)!)
                nearSavings.append((object["Saving"] as? String)!)
                let checked = object["SetTime"] as! Int
                checkedDates.append(checked)
                let thisDate = object["Date"] as? Int
                let timeInterval = Double(thisDate!)
                let myNSDate = Date(timeIntervalSince1970: timeInterval)
                nearDates.append(myNSDate)
                NotificationCenter.default.post(name: NSNotification.Name(rawValue: "updateannotations"), object: nil)
                NotificationCenter.default.post(name: NSNotification.Name(rawValue: "refreshstores"), object: nil)
            }
        }) { (error) in
        self.createAlert(title: "Error in form", message: (error.localizedDescription))
        }

为了使数据同步,在我的viewDidLoad中我有:

let offersPath = Database.database().reference(withPath: "Offers")
offersPath.keepSynced(true)

但由于某种原因,数据不是最新的。 实现的代码在应用程序加载时发生,并且应该从数据库附加SetTime。 我的应用程序有一张地图,SetTime在地图上判断了女巫注释。但是当我更改数据时,它并没有显示新的数据。应用程序需要打开然后重新启动才能更新数据。怎么会这样?

0 个答案:

没有答案