Junior — Middle
Milyen adattípusok a Swiftben referencia típusok?
sobes.tech MI
Válasz az MI-től
Swiftben a referencia típusok a osztályok (class) és a zárójelek (closures). Ezek a heap-ben tárolódnak, és hozzárendelés vagy átadás esetén ugyanarra az objektumra mutató hivatkozás másolódik.
Az alapvető típusok, szerkezetek (struct) és enumerációk (enum) érték típusok (value types), amelyeket másolnak hozzárendeléskor.
Példa:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
let person1 = Person(name: "Иван")
let person2 = person1
person2.name = "Пётр"
print(person1.name) // Kiírja "Пётр", mivel a person1 és a person2 ugyanarra az objektumra mutat