Array memiliki semantik nilai penuh di Swift, jadi tidak perlu sesuatu yang mewah.
var duplicateArray = originalArray adalah semua yang Anda butuhkan.
Jika konten array Anda adalah tipe referensi, maka ya, ini hanya akan menyalin pointer ke objek Anda. Untuk melakukan salinan mendalam dari konten, Anda akan menggunakan mapdan melakukan salinan dari setiap contoh. Untuk kelas Foundation yang sesuai dengan NSCopyingprotokol, Anda dapat menggunakan copy()metode ini:
let x = [NSMutableArray(), NSMutableArray(), NSMutableArray()]
let y = x
let z = x.map { $0.copy() }
x[0] === y[0] // true
x[0] === z[0] // false
Perhatikan bahwa ada masalah di sini yang semantik nilai Swift bekerja untuk melindungi Anda dari — misalnya, karena NSArraymewakili larik yang tidak dapat diubah, copymetodenya hanya mengembalikan referensi ke dirinya sendiri, sehingga pengujian di atas akan menghasilkan hasil yang tidak terduga.
var duplicateArray = originalArray