Sobes.tech
Middle

Standart dizi koleksiyonları değer tipleri ve referans tipleri midir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Swift'te (Array) diziler yapılar (struct)dır ve yapılar değer tipleridir (Value Types). Bir dizi ataması veya iletimi sırasında, dizinin bir kopyası oluşturulur.

Ancak, performansı optimize etmek için, kopyalama sistemi Copy-on-Write davranışına sahiptir. Bu, dizinin gerçek veri kopyasının, kopyalardan birinin ilk değiştirilmesi sırasında gerçekleştiği anlamına gelir. Bu noktaya kadar, her iki kopya da aynı veri deposunu paylaşır.

Değer tipleri: Struct, Enum, Int, String, Double, Bool. Referans tipleri: Class, Function, Closure.

Copy-on-Write'ı gösteren örnek:

var initialArray = [1, 2, 3]
var copiedArray = initialArray // Henüz gerçek veri kopyası yok

print(initialArray[0]) // 1
print(copiedArray[0])  // 1

copiedArray[0] = 10     // Burada gerçek veri kopyası gerçekleşir

print(initialArray[0]) // 1 (orijinal dizi değişmedi)
print(copiedArray[0])  // 10 (sadece kopyalanan sürüm değişti)