2

強い参照サイクルによって引き起こされる可能性のあるメモリ リークをいつ監視する必要があるかを理解しようとしています。迅速なドキュメントから収集できたことからself、同じインスタンス内でインスタンス プロパティとして宣言されたクロージャで参照を使用すると、キャプチャ リストを宣言しない限り、強い参照サイクルが発生します。

class A {

    var a: String

    lazy var aClosure: () -> () = { [unowned self] in
        println(self.a)
    }

    init(a: String) {
        self.a = a
    }
}

インスタンス プロパティとして格納されていないクロージャや、他のクラスのインスタンス プロパティとして格納されているクロージャはどうなるでしょうか。これらの場合でも、強い参照サイクルについて心配する必要はありますか?

4

1 に答える 1