所以基本上我有一个连接到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)
}
})
}
答案 0 :(得分:0)
更改线程将是这样的DispatchQueue.main.async {your code}
这里是关于GCD Dispatch的文档。
以下是返回字符串
的函数示例func stringReturn() -> String {
let aString = "a string"
return aString
}