Junior — Middle
Qachon kuchli havola hisoblagichi bilan ko'rsatilgan va kirish mumkin bo'lmagan ob'ekt uchun avtomatik xotira bo'shatilishi yuz beradi?
sobes.tech AI
AIdan javob
Mustaqil ravishda xotira bo'shatish kuchli havolalar bilan ob'ekt uchun, bu ob'ektga bo'lgan kuchli havolalar soni nolga teng bo'lsa, ya'ni hech qanday kuchli havola ob'ektga murojaat qilmayotgan bo'lsa, amalga oshadi.
Bu vaqtda ob'ekt kirish mumkin bo'lmay qoladi va xotira boshqaruv tizimi (iOS'da ARC) tomonidan o'chirilishi mumkin. Agar kamida bitta kuchli havola mavjud bo'lsa, ob'ekt xotirada qoladi.
Misol:
class MyClass {}
var a: MyClass? = MyClass() // kuchli havolalar soni = 1
var b = a // kuchli havolalar soni = 2
a = nil // kuchli havolalar soni = 1
b = nil // kuchli havolalar soni = 0, ob'ekt bo'shatiladi
Shunday qilib, ob'ektga ehtiyoj qolmaganda va unga bo'lgan kuchli havolalar bo'lmaganda, xotira avtomatik ravishda bo'shatiladi.