Avatar ·

Faut-il toujours utiliser [unowned self] dans les closures en Swift ?

Bonjour à tous ! Je suis un développeur iOS débutant, et je n'arrive pas à comprendre les cycles de références fortes (retain cycles) dans les closures. Voici un exemple simple : je fais une requête réseau à l'intérieur du contrôleur. ```swift class ProfileViewController: UIViewController { var nameLabel: UILabel! override func viewDidLoad() { super.viewDidLoad() fetchUserProfile() } func fetchUserProfile() { APIClient.shared.getUserProfile { [weak self] profile in self?.nameLabel.text = profile.name } } } ``` Je vois que beaucoup utilisent `[weak self]`, mais certains écrivent `[unowned self]`. Quelle est la différence ? Quand faut-il utiliser `unowned` ? Ou vaut-il mieux toujours utiliser `weak` ? J'ai entendu dire que `unowned` peut provoquer un crash si l'objet est