Junior — Middle
Kas sa saad loetleda Swift keele erinevaid viidetüüpe?
sobes.tech AI
Vastus AI-lt
Swiftis on viitamääratlus, mille objektid edastatakse viitega, mitte väärtusena. Peamised viitamääratlusliigid Swiftis:
- Klassid (class) — peamine viitamääratlusliik. Klasside objektid luuakse virnas, ja muutujad hoiavad viiteid neile.
- Funktsioonid (closures) — Swiftis on ka sulgud (closures) viitamääratlusliigid, kuna need võivad haarata ja salvestada viiteid välistele muutujatele.
Erinevalt klassidest on struktuurid (struct) ja enumeratsioonid (enum) väärtusliigid.
Klassi näide:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
let person1 = Person(name: "Иван")
let person2 = person1
person2.name = "Пётр"
print(person1.name) // Kuvab "Пётр", kuna person1 ja person2 viitavad samale objektile