Sobes.tech
Junior — Middle

Jaký formát paměti se používá pro ukládání objektů referenčního typu?

sobes.tech AI

Odpověď od AI

Objekty referenčního typu v iOS (například třídy ve Swift nebo Objective-C) jsou uloženy v řízené haldě (heap). Je to dynamicky přidělená oblast paměti, kde jsou objekty vytvářeny a žijí tak dlouho, dokud na ně existují odkazy.

Na rozdíl od hodnotových typů (struct, enum), které jsou obvykle uloženy na zásobníku nebo uvnitř jiných objektů, jsou objekty referenčního typu alokovány na haldě a proměnné obsahují ukazatele (odkazy) na tyto objekty.

Příklad:

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

let person = Person(name: "Ivan") // objekt je vytvořen na haldě

Zde je person odkazem na objekt na haldě.