Junior — Middle
Kuidas mõjutab nõrkade viidete kasutamine objektide elutsükli haldamist mälus?
sobes.tech AI
Vastus AI-lt
iOS-s (ja arī kopumā atmiņas pārvaldībā) vājas atsauces (weak references) ļauj norādīt uz objektu, neapgrūtinot tā dzēšanu no atkritumu savācēja vai ARC (Automātiskās atsauces skaitīšanas) sistēmas. Ja objekts ir pieejams tikai caur vājas atsauces, tas var tikt atbrīvots no atmiņas.
Tas palīdz izvairīties no cikliskām atkarībām un atmiņas noplūdēm, jo vājas atsauces nepalielina objekta atsauču skaitītāju.
Piemērs Swift:
class Person {
var name: String
weak var delegate: SomeDelegate?
init(name: String) {
self.name = name
}
}
Šeit delegate ir vājas atsauces, lai izvairītos no objekta turēšanas un iespējamām cikliskām atsaucēm.