监视对数组对象的更改

时间:2015-02-11 01:10:14

标签: swift swift-array

我根本不知道这是否可行,但它会让我免受很多压力和糟糕的代码。是否有可能在阵列更新时进行监控?例如,方法A将数组a=[1,2,3]更改为a=[1,2,3,4],是否有可能在a更新时触发某种委托?

1 个答案:

答案 0 :(得分:30)

如果您的数组是类中的属性,则可以使用属性观察器。在更改之前调用willSet,之后调用didSet。这真的很容易。

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

如果我添加一个Int,remove和Int等,这将打印数组更改。我通常把它放在一行但是:

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