Junior — Middle
Kedy sa uvoľňuje pamäť obsadená objektom?
sobes.tech AI
Odpoveď od AI
V iOS, uvoľnenie pamäte objektu nastáva v okamihu, keď sa čítač odkazov (retain count) tohto objektu dostane na nulu. To znamená, že na objekt už nikto ne odkazuje, a systém môže uvoľniť jeho obsadenú pamäť.
V moderných aplikáciách sa používa ARC (Automatic Reference Counting), ktorý automaticky zvyšuje a znižuje čítač odkazov pri priraďovaní a odstraňovaní odkazov na objekt.
Príklad:
class MyClass {}
var obj: MyClass? = MyClass() // čítač odkazov = 1
obj = nil // čítač odkazov = 0, objekt je uvoľnený
Takto dochádza k uvoľneniu pamäte ihneď po tom, čo posledný vlastník objektu prestane na neho odkazovať.