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.