Swift でクロージャーのself循環参照を回避する

nbeppu 570views 更新:2015年8月4日

UIViewController の self をクロージャー内で参照した場合、インスタンスが破棄された後に、呼び出される可能性があるため、以下のように weak self を指定して循環参照を回避します。

closureMethod(id, callback: { [weak self] (error: NSError!) -> Void in
    if let weakSelf = self {
        weakSelf.tableView.reloadData()
    }
})

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません