监视对数组对象的更改
Monitor changes to an array object
我完全不知道这是否可行,但它会让我免于很多压力和糟糕的代码。是否可以在阵列更新时进行监控?例如,方法 A 将数组 a=[1,2,3]
更改为 a=[1,2,3,4
],是否可以有一种在更新 a
时触发的委托?
如果您的数组是 class 中的 属性,您可以使用 属性 观察者。 willSet 在更改前调用,didSet 在更改后调用。真的很简单。
var myArray:[Int] = [1, 3, 4] {
didSet {
println("arrayChanged")
}
}
如果我添加 Int、remove 和 Int 等,这将打印数组已更改。不过我通常将其放在一行中:
var myArray:[Int] = [1, 3, 4] { didSet { println("arrayChanged") } }
我完全不知道这是否可行,但它会让我免于很多压力和糟糕的代码。是否可以在阵列更新时进行监控?例如,方法 A 将数组 a=[1,2,3]
更改为 a=[1,2,3,4
],是否可以有一种在更新 a
时触发的委托?
如果您的数组是 class 中的 属性,您可以使用 属性 观察者。 willSet 在更改前调用,didSet 在更改后调用。真的很简单。
var myArray:[Int] = [1, 3, 4] {
didSet {
println("arrayChanged")
}
}
如果我添加 Int、remove 和 Int 等,这将打印数组已更改。不过我通常将其放在一行中:
var myArray:[Int] = [1, 3, 4] { didSet { println("arrayChanged") } }