Sobes.tech
Junior — Middle

Ի՞նչ հիշողության ձևաչափ է օգտագործվում հղման տիպի օբյեկտների պահեստավորման համար։

sobes.tech AI

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

iOS-ում հղման տիպի օբյեկտները (օրինակ՝ Swift կամ Objective-C-ում դասերը) պահվում են կառավարվող heap-ում: Դա դինամիկորեն հատկացված հիշողության տարածք է, որտեղ օբյեկտները ստեղծվում են և ապրում են այնքան ժամանակ, քանի դեռ դրանց վրա հղումներ կան:

Տարբեր արժեքային տիպերից (struct, enum), որոնք սովորաբար պահվում են stack-ում կամ այլ օբյեկտների ներսում, հղման տիպի օբյեկտները հատկացվում են heap-ում, և փոփոխականները պարունակում են ցուցիչներ (հղումներ) այդ օբյեկտներին:

Օրինակ՝

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

let person = Person(name: "Ivan") // օբյեկտը ստեղծվում է heap-ում

Այստեղ person հղում է heap-ում գտնվող օբյեկտին։