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 (тек көчүрүлгөн версия өзгөрдү)