Sobes.tech
Junior — Middle

Кай кезде күчтүү шилтемелер санагычын көрсөтүп турган жана жеткиликтүү эмес болгон обьекттин автоматтык эсебин бошотуу болот?

sobes.tech AI

AIден жооп

Күчтүү шилтемелер менен объекттин эс тутумун автоматтык түрдө бошотуу, ал кезде күчтүү шилтемелердин санын нөлгө жеткенде — башка күчтүү шилтеме объектке карата көрсөтпөйт.

Бул учурда, объект жеткиликтүү эмес болуп калат жана эс тутумду башкаруу системасы (iOSдеги ARC) тарабынан өчүрүлүшү мүмкүн. Эгер кеминде бир күчтүү шилтеме болсо, объект эс тутумда калат.

Мисал:

class MyClass {}

var a: MyClass? = MyClass() // күчтүү шилтемелердин саны = 1
var b = a                   // күчтүү шилтемелердин саны = 2

a = nil                    // күчтүү шилтемелердин саны = 1
b = nil                    // күчтүү шилтемелердин саны = 0, объект бошотулат

Мындайча айтканда, объектке муктаждык болбой калганда жана ага күчтүү шилтемелер калбаса, эс тутум автоматтык түрдө бошотулат.