如何使用异步Swift Firebase功能?

时间:2017-03-29 02:32:05

标签: swift asynchronous firebase firebase-realtime-database dispatch

所以基本上我有一个连接到Firebase的函数,并以字符串的形式获取数据并返回一个字符串(至少我认为)。

这个问题很简单,也是一个愚蠢的问题,但我如何在不同的线程或核心中调用此方法。抱歉,还不知道这些条款。我正在努力。

另外,我认为它不会返回我需要的字符串,所以如何实现呢?

这也不是重复的,因为如果你看看所有这些类型的问题,我找不到一个调用实际方法的问题。

typealias someting = (String?) -> Void
    func getOpposingUsername( _ index: Int, completionHandler: @escaping someting) {
        var opposingUser: String = ""
        self.datRef.child("Bets").child(self.tieBetToUser[index]).observe(.childAdded, with: { snapshot in


            guard let dict = snapshot.value as? [String: AnyHashable] else {
                return
            }

            opposingUser = dict["OpposingUsername"] as! String
            if opposingUser.isEmpty {
                completionHandler(nil)
            } else {
                completionHandler(opposingUser)
            }




        })


    }

1 个答案:

答案 0 :(得分:0)

更改线程将是这样的DispatchQueue.main.async {your code}这里是关于GCD Dispatch的文档。

以下是返回字符串

的函数示例
func stringReturn() -> String {
  let aString = "a string"
  return aString  
}