2017-10-18 48 views
0

我正在做一个asynchronous HTTP POST任务,完成时我需要将结果发送回启动器viewcontroller。我挂钩了完成处理程序,并且一切按预期工作。但我不能正确地申报返回变量,由于这个错误在任务完成时设置启动器视图控制器的变量

Implicit use of 'self' in closure; use 'self.' to make capture semantics explicit

   dourltask() { isValid in 
       // do something with the returned Bool 
       DispatchQueue.main.async { 
        self.spinner.isHidden=true; 
        self.spinner.stopAnimation(self) if(isValid) { 
        Error ---->  if let presenter presenting as? ViewController { 
          if(isValid) { 
           presenter.bvalue=false 
          } 
         } 
        } 
+0

'if let presenter = self.presenting as? ViewController {' –

+1

@LeoDabus谢谢。 – techno

+1

@Jack ...我打算接受你的回答......似乎你删除了它。 – techno

回答

1

一个类型的每个实例有一个叫做自我的隐含属性,它 是完全等同于本身的实例。您可以使用自我 属性来引用其自身实例 方法中的当前实例。

dourltask() { isValid in 
       // do something with the returned Bool 
       DispatchQueue.main.async { 
        self.spinner.isHidden=true; 
        self.spinner.stopAnimation(self) if(isValid) { 
        if let presenter = self.presenting as? ViewController { 
          if(isValid) { 
           presenter.bvalue=false 
          } 
         } 
        } 
相关问题