Wann sollte ich den Interface Builder verwenden?

7

Da ich die iPhone API lerne, kann ich mit dem Buch, das ich verwende, alles tun, was mit dem Interface Builder möglich ist. Wir (auch hier manchmal einsam) schreiben ebenfalls Code, aber ich habe das Gefühl, dass ich den Interface Builder ziemlich gut kenne.

Ich weiß, dass sich der Interface Builder von anderen GUI-Builders unterscheidet, da er serialisierte Objekte verwendet und keinen Code schreibt. Das ist angeblich eine gute Sache. Also ... ist es in der täglichen Arbeit das Werkzeug der Wahl oder sollte ich versuchen, meine Abhängigkeit vom Interface Builder zu überwinden?

Außerdem: Wenn Sie vorschlagen, dass "es darauf ankommt, was Sie tun", was hängt davon ab? Wie sollte ich die Entscheidung treffen, den Interface Builder zu verwenden oder nicht?

Hinweis: Die subjektive und argumentative Version dieser Frage trägt den Titel Interface Builder: Serious Tool oder Just For Kids? aber ich habe mich dagegen entschieden, da ich es vermeiden möchte die Frage wird geschlossen.

    
Dan Rosenstark 02.03.2010, 21:54
quelle

5 Antworten

13

Interface Builder wird wirklich verwendet, um Apps zu erstellen. Werfen Sie einen Blick auf jede Cocoa-basierte Mac-App - die meisten, die nicht von Adobe oder Microsoft stammen - und Sie werden sehen, dass sie voller Nibs ist. Es ist etwas häufiger, dass iPhone-Apps ohne Interface Builder erstellt werden (weil das ursprüngliche SDK ohne IB geliefert wurde), aber es ist immer noch ein sehr häufig verwendetes Tool.

Der Unterschied zwischen Interface Builder und den meisten anderen GUI-Buildern besteht darin, dass Cocoa und Interface Builder aufeinander abgestimmt sind. In der Tat, wenn Sie die Cocoa-Mailinglisten-Archive durchsuchen, werden Sie im Laufe der Jahre viele Leute finden, die sich fragen, wie es möglich ist, eine Cocoa-App zu erstellen ohne mit dem Interface Builder. (Die Antwort ist immer die gleiche: Sie können alles im Code tun, aber Sie würden nur Ihre Zeit verschwenden und es schwieriger machen, eine gute Schnittstelle zu entwerfen.)

    
Chuck 02.03.2010, 22:05
quelle
4

Ja, es gibt einen kleinen Unterschied. Der Unterschied besteht darin, dass IB wenig mehr Speicher und RAM-Speicher verwendet, als die programmatisch generierte Schnittstelle. Hier ist mein einfaches Beispiel. {Ich bin neu in OBJ-C}

Der Quellcode und die Binär-App hier Ссылка

    
Daniel Valeriev 29.05.2013 12:38
quelle
3

Interface Builder ist ein großartiges Werkzeug. Benutze es so oft du kannst.
Wenn Sie nur mit dem Interface Builder etwas nicht machen können, ist es an der Zeit, Code zu schreiben, der IBOutlets und Code mischt, oder nur Code.

    
Guillaume 02.03.2010 22:07
quelle
3

Interface Builder ist ideal, wenn Sie die UIKit-Benutzerschnittstellenelemente verwenden möchten. Das Verwenden von Interface Builder zum Entwerfen UIKit-basierter Benutzeroberflächen hilft Ihnen auch dabei, sich an die Apple iPhone Richtlinien zur Benutzerschnittstelle .

Es gibt nur eine Handvoll Fälle, in denen Sie nicht den Interface Builder verwenden sollten, der offensichtlichste ist ein Spiel, das sein eigenes einzigartiges Aussehen und Verhalten bietet.

Ich glaube nicht, dass Sie sich Sorgen machen müssen, eine "Abhängigkeit vom Interface Builder" aufzubauen. Es ist ein Werkzeug, wie jedes andere auch. Es ist keine Abhängigkeit, es ist nur die Art, wie wir Dinge erledigen.

    
Brian Willis 02.03.2010 22:06
quelle
2

Interface Builder erzeugt keinen Code, sondern erstellt lediglich ein Objektdiagramm vorhandener Klassen. Wenn Sie sich die Nib-Datei ansehen, können Sie dies sehen. Es ist nur eine Liste von Regeln für welche Objekte zu erstellen und welche Beziehungen zwischen ihnen zu setzen. Es gibt keinen Code in einer Nib und es gibt überraschend wenig Code in den verschiedenen loadFromNib -Methoden.

Es ist die Laufzeitkopplung in Objective-c, die all das ermöglicht. Ich kann keine andere Sprache wirklich durchziehen.

    
TechZen 02.03.2010 23:32
quelle