Sobes.tech
Middle

Kako funkcionišu brojači (retention counts) sa snažnim linkovima u iOS?

sobes.tech АИ

Одговор од АИ

Kada dodelite objekat promenljivoj sa snažnom referencom, brojač referenci na objekat se poveća za 1. Kada se snažna referenca postavi na null ili izađe iz opsega, brojač referenci se smanjuje za 1. Objekat se deallocira kada njegov brojač referenci dostigne nulu i više nema snažnih referenci.

Primer:

class MyObject {
    deinit {
        // Poziva se pri deallocaciji objekta
        print("MyObject je deallociran.")
    }
}

var object1: MyObject? = MyObject() // object1 - snažna referenca, brojač referenci na MyObject == 1
var object2 = object1 // object2 - snažna referenca, brojač referenci na MyObject == 2

object1 = nil // Snažna referenca object1 postavljena na null, brojač referenci na MyObject == 1
object2 = nil // Snažna referenca object2 postavljena na null, brojač referenci na MyObject == 0
// MyObject se deallocira