[英]Swift weakSelf in closure syntax
我有这个代码来获取JSON:
Alamofire.request(.GET, worlds).responseJSON { (request, response, JSON, error) in
println(JSON)
//weakSelf.serverList = JSON
}
如何在这里申报weakSelf? 我知道在我的情况下它应该是无主的,但我找不到正确的语法。 当我尝试使用[unowned self] .serverList而不是注释行时,编译器显示错误“使用未解析的标识符'unowned'”。 我也尝试在块之前声明常量,如下所示:
unowned let uSelf = self
它就像一个魅力,但我想了解如何在我的情况下使用[无主自我]。
使用捕获列表。 正确的语法是:
Alamofire.request(.GET, worlds).responseJSON { [unowned self] (request, response, JSON, error) in
println(JSON)
self.serverList = JSON
}
但请记住,您不是在这里创建保留周期,因此您不必在此处使用weak
或unowned
。 关于这个主题的好文章: http : //digitalleaves.com/blog/2015/05/demystifying-retain-cycles-in-arc/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.