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 հղում են նույն օբյեկտին