0
我有一個數組,具有多個值。我想如果這些值中的一個改變來檢測,這樣的事情:'didSet'數組內的某些元素 - Swift
var array =
[
1,
2,
3,
4 { didSet{ print("Value Changed")}},
5,
6
]
這是可能的,以任何方式?
感謝
我有一個數組,具有多個值。我想如果這些值中的一個改變來檢測,這樣的事情:'didSet'數組內的某些元素 - Swift
var array =
[
1,
2,
3,
4 { didSet{ print("Value Changed")}},
5,
6
]
這是可能的,以任何方式?
感謝
雨燕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{$0 != $1}.enumerated().filter{$1}.map{$0.0}
print("index: \(changedIndex)")
}
}
// Now change value of index 4 of array
array[4] = 10 //index: [4]
'didSet'觀察員有一個隱含的'oldValue'變量,就沒有必要爲您的'oldArray' –
如果我有一個數組:[1,2,[ 「A」, 「B」,「C 「],3]和數組[3] [2] =」e「,你的代碼是否會返回[3] [2]。我很確定它會,但只是爲了澄清? –