Sobes.tech
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.