5

の目的を理解してwillsetdidsetますが、それらが閉鎖と見なされるかどうかはわかりません。

それらがクロージャーである場合、次のコードは強い参照サイクルを生成するべきではありませんか?

var myProperty : Int = 0 {
    didSet { self.callMyMethod() }
}
4

1 に答える 1

5

いいえ、閉鎖ではありません。これは、直接アクセスできない特殊なタイプの関数のように考えることができます。プロパティが変更されたときにのみ呼び出されます。(関数の名前はmyapp.MyStruct.myProperty.didsetです。これはデバッガーで確認できます。)

于 2015-07-23T06:32:25.687 に答える