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ý.