ฉันต้องการดึงหมายเลขเวอร์ชันของแอปที่ต้องการเมื่อแอปเริ่มทำงาน แต่ฉันไม่สามารถรับกุญแจที่ถูกต้องได้
ฉันมีรหัสนี้เพื่อดึงข้อมูล ฉันใช้การสังเกตเหตุการณ์เดียวเพราะฉันใช้วิธีนี้เพื่อตรวจสอบหมายเลขเวอร์ชันแอปที่ต้องการ วิธีนี้จะเกิดขึ้นเมื่อแอปเริ่มทำการตรวจสอบเท่านั้น
func getVersion(completionHandler: @escaping (Result<Any?>) -> ()) {
let ref: DatabaseReference! = Database.database().reference().child("version").child("IOS")
ref?.observeSingleEvent(of: .value , with: { snapshot in
if snapshot.exists() {
let recent = snapshot.value as! NSDictionary
print(recent)
}
})
}
แต่มันกลับผลลัพธ์เก่าเหรอ? ฉันเปิดใช้งาน isPersistenceEnabled
ที่ Appdelegate
ของฉันแล้ว
นี่คือโครงสร้างฐานข้อมูล:
ฉันไม่ได้รับผลลัพธ์เมื่อฉันใช้ Database.database().reference().child("version").child("IOS").
snapshot.exists is false เมื่อฉันใช้สิ่งนั้น
สิ่งที่ฉันเคยมีคือ: - version | ไอโอเอส - 1.0
และฉันจะได้ผลลัพธ์เมื่อฉันใช้ Database.database().reference().child("version"), namely {iOS => 1.0}
ฉันไม่เข้าใจเพราะมันเป็นโครงสร้างเก่าของฉัน
isPersistenceEnabled
เป็นจริง ผู้สังเกตการณ์จะดึงข้อมูลจากที่จัดเก็บในเครื่องก่อน เนื่องจากobserveSingleEventOfType
มีไว้เพื่อสังเกตเพียงครั้งเดียว จึงดึงข้อมูลจากที่จัดเก็บในตัวเครื่องเท่านั้น - person Muhammad Hassan   schedule 28.07.2017