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.

Weak References

Weak References

Mithilfe von sog. Weak References ist es möglich, Strong Reference Cycles aufzulösen. Eine Weak Reference zählt den Referenzzähler nicht hoch und wird automatisch auf nil gesetzt, wenn keine Strong References mehr auf die zugrundeliegende Instanz verweisen. Aus diesem Grund müssen Weak References auch immer Variablen und immer Optionals sein. Werfen wir einmal einen Blick darauf, wie wir das vorangegangene Beispiel eines Strong Reference Cycles mithilfe einer Weak Reference auflösen können. Dazu ist es notwendig, dass eine dieser beiden Referenzen entweder von Person zu Pet oder von Pet zu Person als Weak Reference deklariert wird. Ich setze diese Deklaration in diesem Beispiel in der Klasse Pet. Um eine Weak Reference zu erzeugen, nutzt man das Schlüsselwort weak und stellt es der Property-Deklaration voran. Wenn ich das Beispiel nun erneut ausführe, werden tatsächlich auch beide Instanzen erfolgreich deinitialisiert, nachdem die Variablen max und doc auf nil gesetzt wurden…

Inhalt