var absences = [0, 2, 0, 4, 0, 3, 1, 0]
let midpoint = absences.count / 2
var firstHalf = absences.prefix(upTo: midpoint)
let secondHalf = absences.suffix(from: midpoint)
Цитата от Apple:
Ни срезы firstHalf, ни secondHalf не выделяют никакого собственного нового хранилища. Вместо этого каждый представляет представление о хранении массива отсутствий.
Когда я пытаюсь изменить firstHalf
следующим образом:
firstHalf[1] = 19
значения firstHalf
меняются, но исходный массив absences
остается прежним (firstHalf[1]
равно 19, а absences[1]
равно 2) Итак, что происходит в фоновом режиме. Создал ли я экземпляр нового массива, изменив срез массива? Заранее спасибо.