我正在进行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 :(得分: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
}
}
}