您好,我有以下需求。
我想在委托(delegate)方法触发后调用完成 block 。
请以下面的示例片段为例。
typealias CompletionBlock = (_ result: NSData?, _ error: NSError?) -> Void
func Method1(block:CompletionBlock)
{
//SOME CODE
}
func Method2
{
Completion(data,error)
}
Method2
是我的委托(delegate)方法。
因此,当我从其他类调用 Method1
时,一旦指针位于 Method2
最佳答案
您可以像这样创建一个属性,
var completionBlock : CompletionBlock!
现在开始方法1
func Method1(block:CompletionBlock) {
self.completionBlock = block
}
关于方法2
func Method2 {
self.completionBlock(data,error)
}
我没有测试过这段代码,但在我的一个应用程序中是这样实现的。希望这对您有所帮助。
关于ios - 如何从其声明之外调用 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50638632/