Swift weakSelf 在闭包语法


标签:  ios  Swift
发布时间: 2015/6/26 6:58:35
本文来自:  http://stackoverflow.com/questions/30207463/swift-weakself-in-closure-syntax
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.
我有此 JSON 的代码:
Alamofire.request(.GET, worlds).responseJSON { (request, response, JSON, error) in
        println
(JSON)
       
//weakSelf.serverList = JSON
   
}

如何声明 weakSelf 在这里?我知道它应该是主在我的例子,但为此找不到正确的语法。当我尝试使用 [无主自我].serverList 而不是注释的行编译器显示我错误"使用的未解析的标识符 '无主'"。 我也试图声明一个常量前块像这样:

unowned let uSelf = self

它像一个魅力,但我手淫来了解如何使用 [无主的自我] 我的情况。

解决方法 1:

使用捕获列表。正确的语法是:

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/

你可能感兴趣的:(iOS)