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