Junior — Middle
Ar galite išvardyti skirtingus nuorodų tipus Swift kalboje?
sobes.tech AI
Atsakymas iš AI
Swift kalboje referenciniai tipai yra tipai, kurių objektai perduodami per nuorodą, o ne per vertę. Pagrindiniai Swift referenciniai tipai:
- Klasės (class) — pagrindinis nuorodinis tipas. Klasės objektai kuriami heap'e, o kintamieji saugo nuorodas į juos.
- Funkcijos (closures) — Swift uždarymai taip pat yra nuorodiniai tipai, nes jie gali įsikibti ir saugoti nuorodas į išorines kintamąsias.
Skirtingai nuo klasių, struktūros (struct) ir išvardijimai (enum) yra reikšmės tipai.
Klasės pavyzdys:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
let person1 = Person(name: "Иван")
let person2 = person1
person2.name = "Пётр"
print(person1.name) // Išves "Пётр", nes person1 ir person2 nurodo tą patį objektą