Richtlinien für die Erstellung von nicht-Ansicht Objekten in einer XIB-Datei
-
16-09-2019 - |
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?
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 ]