Middle
Омодаи маҷмӯаҳои стандартии массивҳо намудҳои арзиш ва намудҳои истинод мебошанд?
sobes.tech AI
Ҷавоб аз AI
Swift-дегі (Array) массивтер (Array) құрылымдар (struct), ал құрылымдар — мән түрлері (Value Types). Массивті тағайындау немесе беру кезінде оның көшірмесі жасалады.
Алайда, өнімділікті оңтайландыру үшін, массивтің көшірме жүйесі Copy-on-Write мінез-құлқын пайдаланады. Бұл дегеніміз, массив деректерінің нақты көшірмесі тек бір көшірменің алғашқы өзгерісі кезінде орын алады. Осы уақытқа дейін екі көшірме бірдей деректер сақтауын бөліседі.
Мән түрлері: Struct, Enum, Int, String, Double, Bool. Сілтеме түрлері: Class, Function, Closure.
Copy-on-Write-ты иллюстрирлейтін мысал:
var initialArray = [1, 2, 3]
var copiedArray = initialArray // Әлі нақты деректер көшірмесі жоқ
print(initialArray[0]) // 1
print(copiedArray[0]) // 1
copiedArray[0] = 10 // Мұнда нақты деректер көшірмесі орын алады
print(initialArray[0]) // 1 (бастапқы массив өзгермеген)
print(copiedArray[0]) // 10 (тек көшірілген нұсқа өзгерді)