私は、クロージャを使用して、弱い自己構文なしで自己を参照するvarまたは怠惰なvarを初期化する多くのコードを見てきました。保持サイクルのリスクを引き起こすものではありませんか?なぜコンパイラはそれにフラグを立てていないのですか?安全対策としてあらゆる種類の閉鎖を使用する場合、常に弱い自己または所有されていない自己を使用することは必須のことでしょうか?Swiftのすべての変数または遅延変数イニシャライザに弱い自己が含まれている必要がありますか?
class Test {
lazy var tableView: UITableView = {
let tableView = UITableView(frame: self.view.bounds, style: .plain)
tableView.delegate = self
tableView.dataSource = self
return tableView
}
}()
関連:[レイジー初期化サイクルを保持する(http://stackoverflow.com/q/38141298/2976878) – Hamish