Junior — Middle
Программалоо тилинде күчтүү шилтемелерди колдонуу объекттин эс тутумда болуу мөөнөтүнө кандай таасир этет?
sobes.tech AI
AIден жооп
iOS-дөгү (жана Swift/Objective-C-деги) күчтүү (strong) шилтемелер — бул объекттерге карата жөнөкөй шилтемелер, алар объекттин шилтемелер санын көбөйтөт. Эгер объектке кеминде бир күчтүү шилтеме болсо, ал эс тутумдан өчүрүлбөйт.
Бул объекттин эс тутумда жашоосун улантууга мүмкүндүк берет, ал эми бардык күчтүү шилтемелер өчүрүлүп же nil болуп калганда, объект автоматтык түрдө бошотулат (ARC — Автоматтык шилтемелердин эсептелиши).
Мисал:
class Person {
var name: String
init(name: String) { self.name = name }
}
var person1: Person? = Person(name: "Alex") // күчтүү шилтеме
var person2 = person1 // шилтемелер санын көбөйтөт
person1 = nil // объект дагы эле бар, анткени person2 шилтеме кылып жатат
person2 = nil // эми объект бошотулат
Ошентип, күчтүү шилтемелер объекттин эс тутумда жашоо мөөнөтүнө түздөн-түз таасир этет — кеминде бирөө болсо, объект жашайт.