Aus dem Kurs: Swift Grundkurs

Erhalten Sie Zugriff auf diesen Kurs – mit einer kostenlosen Probeversion

Werden Sie noch heute Mitglied und erhalten Sie Zugriff auf mehr als 24.700 Kurse von Branchenfachleuten.

Solution: Strong Reference Cycle auflösen

Solution: Strong Reference Cycle auflösen

Aus dem Kurs: Swift Grundkurs

Solution: Strong Reference Cycle auflösen

(Musik) An dieser Stelle ist einmal das vorgegebene Beispiel mit den beiden Klassen Person und Apartment vorbereitet. Zusätzlich gibt es hier einige Aufrufe, mit denen sich das Auflösen des Strong Reference Cycles testen lässt. Es wird eine Instanz Person und Apartment erzeugt, die gegenseitig den jeweiligen Variablen zugewiesen werden und zu guter Letzt werden die beiden Variablen auf nil gesetzt, was dazu führen sollte, dass die Person- und Apartment-Instanz aus dem Speicher freigegeben werden sollten. Wenn wir dieses Beispiel nun mit dem vorgegebenen Code ausführen, stellen wir jedoch fest, dass es zu keiner Deinitialisierung kommt. Die entsprechenden print-Statements werden nicht auf der Konsole ausgegeben. Grund hierfür ist der Strong Reference Cycle, der zwischen diesen beiden Elementen existiert. Um ihn aufzulösen, nutze ich eine Weak Reference. Damit zählt Apartment den Referenzzähler der zugewiesenen Person-Instanz nicht hoch. Führe ich den Code nun erneut aus, stellen wir…

Inhalt