Heute habe ich wieder ein wenig mehr über Swift gelernt: Delegate Referenzen sollten immer als weak definiert sein!
Warum? Ich fange besser mal ganz vorne an: Swift arbeitet mit ARC (Automated Reference Counting), um Objekte aus dem Speicher zu löschen, die nicht mehr gebraucht werden. Das Prinzip davon ist recht einfach erklärt: Für jedes Objekt wird eine Strichliste geführt, wie viele Referenzen noch auf das Objekt existieren. Gibt es keine Referenz mehr, wird das Objekt aus dem Speicher entfernt - ganz automatisch.
Ganzen Artikel lesen