我有一种情况,在一个类中,我有3个函数。a,b和c函数。我在b里面调用c函数,在a里面调用b函数,但这里我有一个问题。
在哪里调用b函数完成块,一旦c的函数完成块被完全执行。
例如:
typealias fetchCompletionBlock = () -> Void
class abcd {
func a() {
b({
print("b called completed")
})
}
func b(_ onCompletion: @escaping fetchCompletionBlock) {
c({
print("c called completed")
})
}
func c(_ onCompletion: @escaping fetchCompletionBlock) {
print("c called")
onCompletion()
}
//self.a()
}
var data = abcd()
data.a()
调用b函数完成块的位置。我知道它会在b函数体中,但我不知道确切的位置。
有人能帮忙吗。
最佳答案
在c函数完成处理程序中,应使用调用b函数完成块。
功能b应如下:
func b(_ onCompletion: @escaping fetchCompletionBlock) {
c({
print("c called completed")
onCompletion()
})
}
关于swift - 如何调用函数内部的 block ,谁在等待自身内部另一个函数的 block 完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44391080/