以下是一些与Firebase相关的快速代码,它没有按照我的预期运行,我想知道我做错了什么。
let firebaseRootReference = Firebase(url:"https://mywonderfulapp.firebaseio.com/“),
dataRef = firebaseRootReference.childByAppendingPath(“MyList")
dataRef = dataRef.childByAppendingPath(key) // key is a String object.
dataRef.observeEventType(.Value, withBlock: { snapshot in
for dataItem in snapshot.children {
let dataKey = (dataItem as? FDataSnapshot)!.key,
dataVal = (dataItem as? FDataSnapshot)!.value.objectForKey("name") as! String
print("Found (observeEventType) : \(dataKey) -> \(dataVal)")
}
}, withCancelBlock: { error in
print(error.description)
})
上面的代码在调试器控制台中输出如下内容:
Found (observeEventType) : SOME-KEY -> SOME-DATA
这是完全可以的,这是我在正常情况下所期望的。 但即使我将设备置于飞行模式以停止网络,它仍会打印相同类型的东西。 当然,我已检查过服务器端以确认没有写入任何内容。
换句话说,虽然没有任何内容写入服务器,但调用了dataRef.observeEventType中的块。
它不会跟踪确实写在服务器上的内容,但如果已连接则会写入什么内容。 那我错过了什么?可能不会检查我应该做什么?
请注意,我发现正常连接到网络时没有问题。
答案 0 :(得分:0)
有一些关于基本功能的描述setValue(value: AnyObject!)
所以观察将在同步之前或同一时间触发