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 пешгирӣ шавад. Агар ҳарду истинод қавӣ мебуданд, объектҳо аз хотира озод намешуданд.
Мухим: истинодҳои заиф бояд интихобӣ бошанд (?), зеро объекте, ки ба онҳо ишора мекунад, метавонад нест карда шавад.