I'm following the 2014 WWDC tutorial 408: Swift Playgrounds using XCode Beta 3 (30 minutes in). The Swift syntax has changed since Beta 2.
var data = [27, 46, 96, 79, 56, 85, 45, 34, 2, 57, 29, 66, 99, 65, 66, 40, 40, 58, 87, 64]
func exchange<T>(data: [T], i: Int, j: Int) {
let temp = data[i]
data[i] = data[j] // Fails with error '@lvalue $T8' is not identical to 'T'
data[j] = temp // Fails with error '@lvalue $T5' is not identical to 'T'
}
exchange(data, 0 , 2)
data
Why I can't modify a mutable integer array in this way?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…