Sobes.tech
Junior — Middle

Կարող եք նշել Swift լեզվի տարբեր տեսակի հղումները:

sobes.tech AI

Պատասխան AI-ից

Swift-ում ռեֆերենցիոն տիպերը այն տիպերն են, որոնց օբյեկտները փոխանցվում են ռեֆերենցիայով, ոչ թե արժեքով։ Swift-ի հիմնական ռեֆերենցիոն տիպերը՝

  • Կլասներ (class) — հիմնական ռեֆերենցիոն տիպը։ Կլասի օբյեկտները ստեղծվում են heap-ում, և փոփոխականները պահում են դրանց ռեֆերենցիաները։
  • Ֆունկցիաներ (closures) — Swift-ում փակագծերը նույնպես ռեֆերենցիոն տիպեր են, քանի որ նրանք կարող են բռնել և պահել արտաքին փոփոխականների ռեֆերենցիաները։

Ի տարբերություն կլասների, կառուցվածքները (struct) և enum-երը (enum) արժեքային տիպեր են։

Կլասի օրինակ՝

class Person {
    var name: String
    init(name: String) {
        self.name = name
    }
}

let person1 = Person(name: "Иван")
let person2 = person1
person2.name = "Пётр"
print(person1.name) // Տպում է "Пётр", քանի որ person1 և person2 հղում են նույն օբյեկտին