您好,我有以下要求。
我想在委托(delegate)方法触发后调用完成块。
请以下面的示例代码段为例。
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!
现在在
Method1
上func Method1(block:CompletionBlock) {
self.completionBlock = block
}
在
Method2
上func Method2 {
self.completionBlock(data,error)
}
我没有测试此代码,但是在我的一个应用程序中实现了这样的代码。希望这可以对您有所帮助。
关于ios - 如何从声明之外调用block?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50638632/