Sobes.tech
Junior — Middle

Hogyan történik az erőforrások kezelése a Reference adat típus esetén a rendszerben?

sobes.tech MI

Válasz az MI-től

iOS-ben a referencia típusú adatok (például osztályok) erőforráskezelése az automatikus referencia számlálás (ARC — Automatic Reference Counting) segítségével történik. Minden objektum tart egy referencia számlálót, amely növekszik, amikor új hivatkozás jön létre az objektumra, és csökken, amikor egy hivatkozás törlésre kerül. Amikor a számláló eléri a nullát, az objektum automatikusan felszabadul a memóriából.

Példa:

class MyClass {
    var value: Int
    init(value: Int) {
        self.value = value
    }
}

var obj1: MyClass? = MyClass(value: 10) // referencia számláló = 1
var obj2 = obj1 // referencia számláló = 2
obj1 = nil // referencia számláló = 1
obj2 = nil // referencia számláló = 0, az objektum felszabadul

Így az ARC segít hatékonyan kezelni a memóriát anélkül, hogy manuálisan kellene felszabadítani az erőforrásokat.