我无法将从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;
})
答案 0 :(得分:0)
确定!我解决了这个问题!执行一个干净的操作,然后将firebase数据库持久性更改为false,之前是真的。
FIRDatabase.database().persistenceEnabled = false
这解决了这个问题!显然,应用程序正在从缓存中加载数据我猜,所以我没有得到正确的数据。