18

これが可能かどうかはまったくわかりませんが、多くのストレスや悪いコードから解放されるでしょう. アレイが更新されるたびに監視することはできますか? たとえば、メソッド A は配列a=[1,2,3]を] に変更します。更新a=[1,2,3,4時にトリガーされる一種のデリゲートを持つことは可能ですか?a

4

1 に答える 1

36

配列がクラスのプロパティである場合、プロパティ オブザーバーを使用できます。willSet は変更前に呼び出され、didSet は変更後に呼び出されます。とても簡単です。

var myArray:[Int] = [1, 3, 4] {
    didSet {
        println("arrayChanged")
    }
}

Int、remove、Int などを追加すると、変更された配列が出力されます。ただし、通常は 1 行に配置します。

var myArray:[Int] = [1, 3, 4] { didSet { println("arrayChanged") } }
于 2015-02-11T01:34:09.927 に答える