在Swift中,我使用observerEventType
从Firebase检索快照数据,并在函数中返回它。但似乎没有从快照中保存数据。
func checkAmount() -> Int {
var amount = -1
dispatch_async(dispatch_get_main_queue(), { () -> Void in
self.rootRef.child("users/").child(NSUserDefaults.standardUserDefaults().stringForKey("id")!).observeEventType(FIRDataEventType.Value, withBlock: { (snapshot) in
Amount = (snapshot.value!.objectForKey("CoinAmount") as? Int)!
})
})
return Amount
}
但在我的viewDidLoad()函数中:
if checkAmount() == 0 {
// You can do this
} else {
// or you can do that
我的逻辑是,通过使用dispatch_async
,我可以保存observeEvent(我在后台线程中调用了它),并在我的程序的其余部分中使用该数据。