Muss man immer [unowned self] in Closures in Swift verwenden?
Hallo zusammen! Ich habe angefangen, Swift zu lernen und bin auf das Problem der Speicherverwaltung in Closures gestoßen. Ich habe viele Artikel auf Stack Overflow gelesen, und überall steht, dass man `[weak self]` oder `[unowned self]` verwenden muss, um retain cycles zu vermeiden. Aber ich bin verwirrt, wann genau man `unowned` anwenden soll.\n\nHier ist ein Beispiel: Ich habe eine Klasse `NetworkManager`, die Daten lädt und nach Abschluss eine Closure aufruft.\n\n```swift\nclass NetworkManager {\n func fetchData(completion: @escaping (Data?) -> Void) {\n DispatchQueue.global().async {\n // Simulation des Ladens\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