Junior — Middle
Automatikusan törlődik egy objektum a memóriából, ha három gyenge (weak) és egy nem kötelező (unowned) hivatkozás mutat rá?
sobes.tech MI
Válasz az MI-től
A tárgy automatikusan törlődik a memóriából, ha nincs többé erős (strong) hivatkozás rá. A gyenge (weak) és nem kötelező (unowned) hivatkozások nem növelik a tárgy hivatkozásszámát. Az Ön esetében, ha csak három weak és egy unowned hivatkozás van, de nincs erős hivatkozás, a tárgy használaton kívüli és deallokálásra kerül.
Példa:
class MyClass {}
var strongRef: MyClass? = MyClass() // erős hivatkozás
weak var weakRef1 = strongRef
weak var weakRef2 = strongRef
weak var weakRef3 = strongRef
unowned var unownedRef = strongRef!
strongRef = nil // most már nincs erős hivatkozás, a tárgy törlődik