如何在主线程中运行ObverveEventType?

时间:2016-07-24 01:18:34

标签: ios swift firebase firebase-realtime-database

在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(我在后台线程中调用了它),并在我的程序的其余部分中使用该数据。

0 个答案:

没有答案