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