【问题标题】:How to call block from outside its declaration?如何从其声明之外调用块?
【发布时间】:2018-06-01 07:53:47
【问题描述】:

您好,我有以下要求。

我想在委托方法触发后调用完成块。

请查找以下示例 sn-p 作为示例。

typealias CompletionBlock = (_ result: NSData?, _ error: NSError?) -> Void

 func Method1(block:CompletionBlock) 
{ 
   //SOME CODE
}

func Method2
{
    Completion(data,error)
}

Method2 是我的委托方法。 因此,当我从其他类调用Method1 时,一旦指针位于Method2 上,它将进入块中

【问题讨论】:

    标签: ios swift block


    【解决方案1】:

    你可以像这样创建一个属性,

    var completionBlock : CompletionBlock!
    

    现在Method1

    func Method1(block:CompletionBlock) { 
       self.completionBlock = block
    }
    

    Method2

    func Method2 {
        self.completionBlock(data,error)
    }
    

    我没有测试过这段代码,但是在我的一个应用程序中这样实现。希望这对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-27
      • 2013-04-09
      • 1970-01-01
      相关资源
      最近更新 更多