Sobes.tech
Junior — Middle

Ako vytvoriť slabé odkazovanie v programovacom jazyku?

sobes.tech AI

Odpoveď od AI

V iOS (Swift) sa používa k vytvoreniu slabého odkazu kľúčové slovo weak. Slabý odkaz nezvyšuje počítadlo odkazov na objekt, čo pomáha predchádzať cyklom udržiavania a únikom pamäte.

Príklad:

class Person {
    var name: String
    weak var apartment: Apartment? // slabý odkaz

    init(name: String) {
        self.name = name
    }
}

class Apartment {
    let unit: String
    var tenant: Person? // silný odkaz

    init(unit: String) {
        self.unit = unit
    }
}

// Použitie:
let john = Person(name: "John")
let unit4A = Apartment(unit: "4A")
john.apartment = unit4A
unit4A.tenant = john

V tomto príklade Person obsahuje slabý odkaz na Apartment, aby sa predišlo cyklu udržiavania medzi Person a Apartment. Ak by obe odkazy boli silné, objekty by neboli uvoľnené z pamäte.

Dôležité: slabé odkazy by mali byť voliteľné (?), pretože objekt, na ktorý odkazujú, môže byť odstránený.