Junior — Middle
Tudsz példát mondani olyan helyzetre, amikor egy gyenge hivatkozás automatikusan nullára állítódik?
sobes.tech MI
Válasz az MI-től
A gyenge hivatkozás automatikusan nullázódik, amikor a rá hivatkozó objektum felszabadul a memóriából (azaz, amikor már nincs erős hivatkozás rá).
Például iOS-ben, weak hivatkozás használatával a delegátra:
class ViewController: UIViewController {
weak var delegate: SomeDelegate?
}
Ha a delegált objektum megsemmisül (például kilép a hatókörből és felszabadul), akkor a delegate automatikusan nil lesz. Ez megakadályozza, hogy már felszabadított objektumra hivatkozzon, és segít elkerülni a hibákat és a memória szivárgásokat.