Avatar ·

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

Bonjour à tous ! J'ai commencé à apprendre Swift et je suis confronté à un problème de gestion de la mémoire dans les closures. J'ai lu beaucoup d'articles sur Stack Overflow, et partout on écrit qu'il faut utiliser `[weak self]` ou `[unowned self]` pour éviter les cycles de rétention (retain cycles). Mais je suis confus quant au moment précis où utiliser `unowned`.\n\nVoici un exemple : j'ai une classe `NetworkManager` qui charge des données et appelle une closure une fois terminé.\n\n```swift\nclass NetworkManager {\n func fetchData(completion: @escaping (Data?) -> Void) {\n DispatchQueue.global().async {\n // simulation de chargement\n sleep(2)\n let data = Data()\n completion(data)\n }\n }\n}\n\nclass ViewController: UIViewController {\n let networkManager = NetworkManager()\n \n func loadData() {\n