Sobes.tech
Junior — Middle

Quand est-il approprié d'utiliser une référence faible avec 'weak let' ?

sobes.tech IA

Réponse de l'IA

La référence faible avec weak let en Swift est utilisée pour éviter les cycles de références fortes (cycles de rétention), en particulier dans les closures et les délégués. Elle est appropriée lorsque l'objet référencé peut être désinitialisé, et que vous ne souhaitez pas le maintenir en mémoire.

Par exemple, dans une closure qui capture self, pour éviter les fuites de mémoire, on utilise une référence faible :

class ViewController {
    var closure: (() -> Void)?

    func setup() {
        closure = { [weak self] in
            guard let self = self else { return }
            self.doSomething()
        }
    }

    func doSomething() {
        print("Action")
    }
}

Ici, weak empêche de retenir self dans la closure, ce qui permet à ViewController d’être libéré de la mémoire lorsqu’il n’est plus nécessaire.