Sobes.tech
Junior — Middle

Əgər obyektə üç zəif (weak) və bir qeyri-məcburi (unowned) istinad göstərilirsə, o avtomatik olaraq yaddaşdan silinəcəkmi?

sobes.tech Süni İntellekt

AI-dan cavab

Obyekt avtomatik olaraq yaddaşdan silinəcək, əgər ona güclü (strong) istinadlar qalmayıbsa. Zəif (weak) və qeyri-məcburi (unowned) istinadlar obyektin istinad sayını artırmır. Sizin vəziyyətinizdə, yalnız üç zəif və bir qeyri-məcburi istinad olsa da, heç bir güclü istinad yoxdursa, obyekt istifadə olunmayan hesab olunur və dealloc ediləcək.

Misal:

class MyClass {}

var strongRef: MyClass? = MyClass() // güclü istinad
weak var weakRef1 = strongRef
weak var weakRef2 = strongRef
weak var weakRef3 = strongRef
unowned var unownedRef = strongRef!

strongRef = nil // indi güclü istinadlar yoxdur, obyekt silinəcək