"Ein häufiger Anwendungsfall für das schwache Attribut ist Eltern-Kind-Datenstrukturen. Nach Konvention sollte das Elternobjekt eine starke Referenz mit seinen Kindern beibehalten, und die Kinder sollten eine schwache Referenz speichern zurück zum Elternteil. Schwache Referenzen sind auch ein fester Bestandteil des Designmusters der Delegierten. "Behalten Zyklus: "Parent-Child"
Frage:
1) Warum die Kinder kann Speicher ein schwacher Verweis zurück auf die Eltern? Was ist, wenn ihre Eltern "verschwinden"?
2) Was bezieht sich hier auf das Delegiertenentwurfsmuster? Was hat es mit schwachen Referenzen zu tun?
Viele Duplikate wie http://stackoverflow.com/questions/8449040/why-use-weak-pointer-for-delegation und http://stackoverflow.com/questions/14249395/reference-a-views-eltern-ohne-bekommen-einen-kreis-import – ozgur
@ozgur Ich glaube nicht, dass du meine Frage gut verstehst? Ich frage, warum es "kann" nicht "sollte". Ich kenne den Rückhaltezyklus. –
Ich denke, die "Dose" hängt mit dem zusammen, was dem Kind passieren soll, wenn die Elternfreigabe aufgehoben wird. Solange Sie froh sind, dass die Kinder ebenfalls freigestellt werden (in Ermangelung eines anderen starken Bezuges auf das Kind), können Sie eine schwache Referenz verwenden. Gleiches gilt für einen Delegierten. Es ist oft einfacher, einen schwachen Verweis auf den Delegaten zu verwenden, sodass das Delegatobjekt sich nicht explizit als Delegat eines Objekts entfernen muss, um sich selbst zu entziehen. – Paulw11