让newItems=旧项
因为两个数组都包含对象实例,它们不就指向相同的对象吗?所以当你迭代
newItems
oldItems
我也是。可以通过在
for
也许你可以试试下面的方法?
func updateAuctions() {
let oldItems = tables
let newItems = [Table]()
for item in oldItems {
newItems.append(Table(uid: item.uid, timeRemaining: item.timeRemaining! - 1, currentPrice: item.currentPrice! + 0.50))
}
let changes = diff(old: oldItems, new: newItems)
collectionView.reload(changes: changes, section: 0) { (complete) in
if (complete) {
self.tables = newItems
}
}
}