'didSet' 数组中的某些元素 - Swift

'didSet' certain elements inside Arrays - Swift

我有一个包含多个值的数组。我想检测其中一个值是否已更改,如下所示:

var array = 
    [
        1,
        2,
        3,
        4 { didSet{ print("Value Changed")}},
        5,
        6
    ]

这有可能吗?

谢谢

Swift 3.0

你可以像下面这样观察数组的索引改变了。

var oldArray: [Int] = []

var array = [ 1,2,3,4,5,6] {

    willSet {
        // Set old array value for compare
        oldArray = array
    }

    didSet {
        let changedIndex = zip(array, oldArray).map{[=10=] != }.enumerated().filter{}.map{[=10=].0}
        print("index: \(changedIndex)")
    }
}

// Now change value of index 4 of array

array[4] = 10   //index: [4]