Sobes.tech
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