Junior — Middle
Программалоо тилинде алсыз шилтемени кантип түзүү керек?
sobes.tech AI
AIден жооп
iOS (Swift) ичинде алсыз шилтемени түзүү үчүн weak ачкыч сөзү колдонулат. Алсыз шилтеме объекттин шилтеме санын көбөйтпөйт, бул сактоо цикли жана эс тутум агып кетүүнүн алдын алууга жардам берет.
Мисал:
class Person {
var name: String
weak var apartment: Apartment? // алсыз шилтеме
init(name: String) {
self.name = name
}
}
class Apartment {
let unit: String
var tenant: Person? // күчтүү шилтеме
init(unit: String) {
self.unit = unit
}
}
// Колдонуу:
let john = Person(name: "John")
let unit4A = Apartment(unit: "4A")
john.apartment = unit4A
unit4A.tenant = john
Бул мисалда, Person Apartmentка алсыз шилтеме менен байланышкан, бул Person жана Apartment ортосунда сактоо циклин алдын алат. Эгер эки шилтеме да күчтүү болсо, объекттер эс тутумдан чыгарылбайт.
Маанилүү: алсыз шилтемелер опционалдуу болушу керек (?), анткени аларга шилтемелүү объект өчүрүлүшү мүмкүн.