Wann empfehlen Sie die Integration einer benutzerdefinierten Ansicht in den Interface Builder mit einem Plug-in? Beim Durchblättern von Apples Interface Builder Plug-In Programmierhandbuch habe ich gefunden:
- Werden Ihre benutzerdefinierten Objekte nur von einer Anwendung verwendet?
- Basieren Ihre benutzerdefinierten Objekte auf Statusinformationen, die nur in Ihrer Anwendung gefunden werden?
- Wäre es problematisch, Ihre benutzerdefinierten Ansichten in eine eigenständige Bibliothek oder ein Framework zu kapseln?
Wenn Sie eine der obigen Fragen mit Ja beantwortet haben, sind Ihre Objekte möglicherweise keine guten Kandidaten für ein Plug-in.
Das beantwortet einige meiner Fragen, aber ich möchte immer noch Ihre Gedanken daran, wenn es eine gute Idee ist. Was sind die Vorteile und wie viel Zeit Investition ist es?
Es ist durchaus sinnvoll, die View- und Controller-Klassen, die Ihre Anwendung verwendet, in ein separates Framework zu übertragen - eingebettet in Ihren Anwendungswrapper -, für den Sie auch ein Interface Builder-Plug-in erstellen.
Unter anderem können Klassen, die in Ihrer Anwendung häufig verwendet werden, dann an ihrem Verwendungsort in Interface Builder konfiguriert werden und nicht in verstreuten -awakeFromNib
-Implementierungen. Es ist auch die einzige Möglichkeit, mit der Sie Ihre Objekte Bindungen anzeigen lassen können, die in Interface Builder eingerichtet werden können.
Es ist ein wenig Programmierung, aber für View- und Controller-Klassen, die an mehreren Stellen verwendet werden und die vor ihrer eigentlichen Verwendung zusätzliche Einstellungen erfordern, sparen Sie wahrscheinlich insgesamt eine Menge Zeit. Und Ihre Erfahrung, die mit Ihrem eigenen Controller und View-Klassen entwickelt wird, ist wie die Entwicklung mit Cocoa's.
Ich denke, die Apple-Richtlinien fassen es gut zusammen.
Wenn Sie ein Steuerelement schreiben, das in mehreren Anwendungen verwendet wird und vollständig generisch ist, ist die Erstellung eines benutzerdefinierten Objekts eine gute Idee. Sie können das Aussehen und die Eigenschaften direkt im Interface Builder visualisieren.
Wenn Ihr Steuerelement auf eine Anwendung beschränkt ist oder eng mit Ihren Daten verknüpft ist, wird es Ihnen nicht viel kosten, es in ein benutzerdefiniertes Objekt zu verschieben.
Es ist nicht schwer, eine benutzerdefinierte Ansicht zu erstellen. Es gibt viele einfach zu handhabende Anleitungen.
Tags und Links objective-c macos cocoa interface-builder