Junior — Middle
Кай вақт мемории автоматӣ озод мешавад барои объекте, ки ба он ҳисобкунаки пайвандҳои қавӣ ишора мекунад, ва он дастрас нест мешавад?
sobes.tech AI
Ҷавоб аз AI
Автоматикӣ озод кардани хотира барои объект бо истинодҳои қавӣ вақте рух медиҳад, ки ҳисобкунаки истинодҳои қавӣ ба он объект ба сифр мерасад, яъне ягон истиноди қавӣ ба объект ишора намекунад.
Дар ин лаҳза, объект дастрас нест ва метавонад аз ҷониби системаи идоракунии хотира (ARC дар iOS) хориҷ карда шавад. Агар ҳадди ақал як истиноди қавӣ вуҷуд дошта бошад, объект дар хотира мемонад.
Масалан:
class MyClass {}
var a: MyClass? = MyClass() // ҳисобкунаки истинодҳои қавӣ = 1
var b = a // ҳисобкунаки истинодҳои қавӣ = 2
a = nil // ҳисобкунаки истинодҳои қавӣ = 1
b = nil // ҳисобкунаки истинодҳои қавӣ = 0, объект озод карда мешавад
Бинобар ин, озод кардани хотира автоматӣ аст, вақте ки объект дигар лозим нест ва ба он истинодҳои қавӣ вуҷуд надоранд.