Sobes.tech
Junior — Middle

Дар куҷо одатан ҳисобкунаки истинод барои идоракунии хотира амалӣ мешавад?

sobes.tech AI

Ҷавоб аз AI

Ҳисоблагич ишораси ёдлаш бошқаруви учун одатда объект ёки унинг қопламаси (runtime) даражасида амалга оширилади, бу ерда ҳар бир объектга унга фаол ишоралар сони сақланади. Янги ишора яратилганда, ҳисоблагич ошади, ва ишора ўчирилганда — камаяди. Агар ҳисоблагич нулга етса, объект эркинлаштирилади.

iOSда ARC (Автоматик ишоралар ҳисоблами) бу Objective-C/Swift компилятори ва runtime томонидан амалга оширилади. Дастурчи одатда ҳисоблагич учун қўл билан код ёзмайди, лекин кучли ва заиф ишораларни кузатиши керак, циклик боғлиқликларни олдини олиш учун.

Swiftда мисол:

class Person {
    var name: String
    init(name: String) { self.name = name }
}

var p1: Person? = Person(name: "Alice") // ҳисоблагич = 1
var p2 = p1 // ҳисоблагич = 2
p1 = nil // ҳисоблагич = 1
p2 = nil // ҳисоблагич = 0, объект эркинлаштирилади

Шу тарзда, ишоралар ҳисоблагичи одатда runtimeда амалга оширилади ва автоматик бошқарилади.