Avatar ·

Muss man immer [unowned self] in Closures in Swift verwenden?

Hallo zusammen! Ich bin ein angehender iOS-Entwickler und komme mit Retain Cycles in Closures nicht klar. Hier ein einfaches Beispiel: Ich mache einen Netzwerk-Request innerhalb eines Controllers. ```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 } } } ``` Ich sehe, dass viele `[weak self]` verwenden, aber einige schreiben `[unowned self]`. Was ist der Unterschied? Wann sollte man `unowned` verwenden? Oder ist es besser, immer `weak` zu nutzen? Ich habe gehört, dass `unowned` einen Crash verursachen kann, wenn das Objekt be