在任务完成时设置Launcher View Controller的变量

时间:2017-10-18 03:35:25

标签: swift macos asynchronous

我正在进行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
                            }
                        }
                    }

1 个答案:

答案 0 :(得分:1)

  

一个类型的每个实例都有一个名为self的隐式属性   完全等同于实例本身。你使用自我   用于引用其自己实例中的当前实例的属性   方法

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
                            }
                        }
                    }