Frage

Interface Builder bietet die Möglichkeit, nicht-View / Controller-Objekte in einer XIB-Datei zu erstellen. In der Vergangenheit habe ich diese Funktion zu instanziiert und Draht-up kleines Bauteile verwendet, die Ansicht, die Komponenten in der XIB verwalten und dies schien eine ziemlich vernünftige Sache zu tun.

Aber ich frage mich, was andere legitim verwendet es für diese Funktion sind. Es ist ziemlich attraktives Werkzeug, wie es effektiv die Verantwortung für die Instanziierung und Injizieren der Abhängigkeiten solcher Objekte aus Ihrem Code und auf den Rahmen bewegt.

Im Fall von Interface Builder Ich bin neugierig zu wissen, was die Richtlinien sind für die Verwendung dieses Dependency Injection Funktion?

War es hilfreich?

Lösung

Als Faustregel ich benutze, ist Hilfsobjekte setzen in werden können, wenn sie auf der Benutzeroberfläche in der Spitze in irgendeiner Weise definiert verwandt werden -. So entweder Proxy-Objekte, die Verweise auf Elemente oder Aktionen enthalten, die ausgelöst werden

Proxy-Methoden alle erhalten verdrahtet, wenn die Spitze Laden und übergibt das bereits erstellte Objekt über das Userinfo Wörterbuch Sie optional zusammen mit dem nib Namen passieren in können.

Es gibt nichts falsch, obwohl ich denke, in einer rein logischen Feder, die das Ziel / Action-System mehrere Proxy-Objekte verkabeln verwenden würde. Das könnte einfacher sein, als die Verdrahtung im Code zu tun, obwohl ich nicht, dass in der Praxis gesehen.

Andere Tipps

Keine Richtlinien, sind Sie auf eigene Faust.

Bearbeiten nach teabot Kommentar : Sehen Sie, für mich ist es immer noch nicht klar ist, wie nib Speicherverwaltung wirklich funktioniert. Wenn ich eine Fenstersteuerung freizugeben, um die Spitze besitzt, lassen sich die deserialisiert Objekte wirklich Gedächtnis?

Ich glaube, ich irgendwo gelesen, dass, wenn Sie Bindungen zwischen nib Kontrollen verwenden und die Fenstersteuerung Sie ein Leck bekommen und in einigen Fällen Ich habe in funny nib bezogene Belästigungen selbst.

Es ist auch ist es sehr schwierig, da falsche Bindung Schlüssel einige nib bezogene Fehler aufzuspüren oder fehlende Aktion IB Links.

So habe ich die Feder Inhalte auf ein Minimum zu halten bevorzugen, in der Regel das ganze Zeug Sie vollen Gebrauch von Bindungen (in der Regel von Array-Controllern) vornehmen müssen, aber nicht mehr.

[bekam ich eine Idee für ein neue Frage ]

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top