wake-up-neo.com

Was sind die Vorteile der Verwendung von Storyboards anstelle von xib-Dateien bei der iOS-Programmierung?

Was sind die Hauptunterschiede zwischen der Verwendung von Storyboards und XIB-Dateien.

Was sind die Vor- oder Nachteile der Verwendung eines Storyboards?

Leider konnte ich trotz umfangreicher Recherchen auf Storyboards nur einfache Tutorials finden, die Ihnen zeigen, wie Sie ein Storyboard einrichten, anstatt konkrete Informationen zu liefern, die erklären, was sie sind.

70
Steve

Ein Storyboard ist:

  • Ein Container für alle Ihre Szenen (Ansichts-Controller, Navigations-Controller, TabBar-Controller usw.)
  • Ein Manager für Verbindungen und Übergänge zwischen diesen Szenen (diese werden als Segues bezeichnet)
  • Ein guter Weg, um zu steuern, wie verschiedene Controller miteinander kommunizieren
  • Mit Storyboards erhalten Sie einen vollständigen Überblick über den Ablauf Ihrer Anwendung, den Sie niemals von einzelnen NIB-Dateien erhalten können.
  • Eine Reduzierung aller "Unordnung", die auftritt, wenn Sie mehrere Controller mit jeweils einer eigenen NIB-Datei haben.

Ich benutze Storyboards seit einer Weile und der EINZIGE Nachteil ist, dass Sie iOS 4 oder niedriger nicht anvisieren können. Storyboards funktionieren nur auf Geräten mit iOS 5 oder höher. Davon abgesehen sind die Vorteile vielfältig und die Nachteile nicht vorhanden.

Das beste Tutorial, das ich gesehen habe, ist Ray Wenderlichs

Wenn Sie Mitglied des Entwicklerprogramms Apple) sind, schauen Sie sich die WWDC-Sitzung der letzten Jahre auf Storyboards (iTunesU) an. Es ist fantastisch.

Ein weiteres großartiges (auch auf iTunesU) ist der neueste Stanford iOS Application Programming-Kurs.

83
LJ Wilson

Es gibt nicht nur Pro-Seiten von Storyboarding, sondern auch Nachteile - nur weil Sie um Eingabe gebeten haben:

  • es ist nicht einfach, mit SBs in einem Team zu arbeiten, da nur ein Teilnehmer gleichzeitig an dem SB arbeiten kann (weil es sich um eine Datei handelt).

-Das Folgende ist nicht wahr: - wenn Sie Dinge tun müssen, die SB nicht bietet, ist es nicht ganz einfach, SB mit programmatisch erstellten Ansichten zu mischen (nun, es ist jedoch möglich)

Die Faustregel scheint zu lauten: Je komplexer Ihr Projekt werden soll, desto besser ist es, sich nicht für SB zu entscheiden.

BEARBEITEN: - Ein weiterer Nachteil von SB: Umgehen aller nervigen Fehler von XCode in Bezug auf SB. Z.B. DerivedData-Ordner muss aufgrund mehrerer Inkonsistenzen häufig geleert werden. Manchmal werden Storyboard-Dateien oder der Link zu ihnen beschädigt. Dann haben Sie vielleicht die Freude, nach dem Problem zu suchen. Schauen Sie sich das an Thread, um auf die Idee zu kommen

EDIT 2 (März 2013): Inzwischen funktionieren Storyboards und Xcode viel besser und Dokumentation und Best Practices sind weit verbreitet. Ich denke, die Arbeit mit Storyboards kann für die meisten Projekte empfohlen werden, auch wenn es immer noch Probleme gibt.

EDIT 3 (Sept 2013): Jetzt mit dem neuen Xcode 5-Format wird das Arbeiten in Teams mit SB möglicherweise noch besser, da es offenbar möglich wird, SB-Code jetzt viel einfacher zusammenzuführen.

Another EDIT: Nun, wenn Sie eine Stunde Zeit haben, lehnen Sie sich zurück, entspannen Sie sich und hören Sie zu, wie diese Leute über dieses Thema diskutieren (Ray Wenderlich & Co)

Edit 2016.1: Nachdem ich lange Zeit ein Verfechter von Storyboards war, hatte ich in den letzten Monaten so viele Probleme damit, dass ich mich entschied, Storyboards so weit wie möglich aufzugeben. Der Grund dafür ist, dass Apple fügt eine dumme Funktion hinzu, kümmert sich aber nicht um die Fehler und Mängel. Die Leistung mit vielen Einschränkungen für das automatische Layout ist wirklich schlecht (während der Entwurfszeit) , und die Fehleranfälligkeit ist enorm geworden. Beispiel: Noch weniger komplexe Storyboards tendieren dazu, direkt nach dem Öffnen eines Projekts in Xcode in einen "Dirty Mode" zu geraten. Tipp: Als Anfänger werden Sie Storyboards seitdem lieben Sie können schnell Prototypen erstellen und die Dinge ohne viel Code zum Laufen bringen. Wenn Sie in einen Zwischenzustand wechseln, fügen Sie Ihrem Projekt mehr GUI-Code hinzu. Jetzt wechseln Sie zwischen Code und SB hin und her - und die Dinge laufen schlechter. Früher oder später werden Sie die meisten GUI-Aufgaben im Code erledigen, da das Ergebnis vorhersehbarer ist als mehrere Quellen.

52
brainray

Zusammenfassung

Nibs/.xib-Dateien und Storyboards sind Interface Builder-Dateien, die zur visuellen Erstellung von Benutzeroberflächen für iOS- und Mac-Anwendungen in Xcode verwendet werden. (Für Klassen verwende ich die iOS-Terminologie, da diese Frage mit iOS gekennzeichnet ist, sie jedoch auch für die Mac-Programmierung gilt.) .

Unterschiede

Schreibfedern sind für die Verwendung mit einem einzelnen UIView vorgesehen. Sie können auch mit einer Unterklasse UIViewController verbunden werden, indem Sie die Klasse des Dateieigentümers auf eine beliebige Unterklasse von UIViewController einstellen und den View-Ausgang verbinden (ziehen, um eine Verbindung herzustellen, indem Sie den Verbindungsinspektor ganz rechts im Fenster verwenden) Xcode).

Storyboards sollen die Benutzeroberfläche für 1 oder mehrere UIViewController enthalten. Sie können Ihre gesamte Benutzeroberfläche in einem einzelnen Storyboard zusammenfassen oder in kleinere Teile aufteilen.

Vorteile

Storyboards sollten immer zugunsten von .xib-Dateien/Nibs (für View-Controller) verwendet werden. Storyboards haben mehr Funktionen und werden von Apple aktiv entwickelt.

Jedes Argument für Nibs beruht auf der Tatsache, dass sie einzeln verwendet werden, während Storyboards viele Szenen enthalten. Sie können für jedes UIViewController genau so einfach wie mit Nibs ein einzelnes Storyboard verwenden (siehe Codebeispiele unten). Lesen Sie weiter für eine detaillierte Erklärung und Codebeispiele.

Detailliert

Warum sind Storboards Federn überlegen?

Die Antwort besteht im Wesentlichen darin, Apple die Verwendung von Storyboards zu fördern und mehr Entwicklungsaufwand in sie zu stecken.

  1. Storyboards verfügen über Zoomfunktionen, die Nibs nicht bieten. Im Ernst, Sie können in Nibs überhaupt nicht zoomen, was beim Entwerfen für größere Bildschirme auf einem kleinen Laptop schadet.
  2. Bei Schreibfedern fehlen wichtige Funktionen wie:
    • Prototyp und dynamische Zellen für UITableView ( weitere Informationen )
    • Die oberste Layout-Anleitung Eigenschaft (siehe Kommentar)
    • Es gibt wahrscheinlich mehr, bitte bearbeiten oder kommentieren Sie, wenn Sie etwas zu dieser Liste hinzufügen möchten
  3. Sie müssen sich nicht mit dem Festlegen der Klasse des Dateieigners herumschlagen.

Das Hauptargument gegen Storyboards ist, dass es zu Konflikten, einem langsamen Xcode, langsamen Build-Zeiten und einer allgemeinen Schwierigkeit führt, alle View-Controller an einem Ort zu haben. Daher wird allgemein empfohlen, für jedes UIViewController eine Schreibfeder zu verwenden.

Aber ... Sie können nur ein Storyboard für jedes UIViewController erstellen. Es ist (zumindest für mich) üblich, die gesamte UIViewController-Initialisierung in einer Klassenmethode auszublenden (da keine andere Klasse den Namen der Datei kennen muss, in der sich die Nib/das Storyboard des Controllers befindet). Vergleichen wir die zugehörigen Codeausschnitte, mit denen eine solche Methode erstellt werden kann. Eine einzelne Codezeile ist der gesamte Unterschied zwischen den beiden.

Ziel c

Storyboard

+ (ViewController *)create
{
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"ViewController" bundle:nil];
    return [storyboard instantiateInitialViewController];
}

Feder

+ (ViewController *)create
{
    return [super initWithNibName:@"ViewController" bundle:nil];
}

Verwendung

- (void)showMyViewController
{
    ViewController *vc = [ViewController create];
    [self presentViewController:vc animated:YES completion:nil];
}

Swift

Storyboard

static func create() -> ViewController {
    let storyboard = UIStoryboard(name: "ViewController", bundle: NSBundle.mainBundle())
    return storyboard.instantiateInitialViewController() as! ViewController
}

Feder

static func create() -> ViewController {
    return ViewController(nibName: "ViewController", bundle: nil)
}

Verwendung

func showMyViewController() {
    let vc = ViewController.create()
    self.presentViewController(vc, animated: true, completion: nil)
}

Argumente

Ich werde alle üblichen Argumente für Nibs ansprechen; Wie ich bereits erwähnte, gibt es meist einzelne Dateien, nicht als Argument für Nibs über Storyboards

  1. Teams und Zusammenführung

Argument: Ein Storyboard mit vielen View Controllern führt zu Zusammenführungskonflikten, wenn Sie in einem Team mit mehreren Personen arbeiten, die Änderungen vornehmen

Antwort: Ein einzelnes Storyboard verursacht nicht mehr Zusammenführungskonflikte als eine einzelne Nib

  1. Komplexität

Argument: Sehr komplexe Apps haben viele Szenen im Storyboard, was zu einem riesigen Storyboard führt, dessen Laden ewig dauert und das aufgrund seiner Größe kaum verständlich ist.

Antwort: Dies ist ein großartiger Punkt, aber Sie können Storyboards leicht in kleinere Teile aufteilen. Storyboard-Referenzen sieht nach einer großartigen Funktion aus, mit der Storyboards miteinander verbunden werden können, die jedoch nur in Xcode 7/iOS 9+ verfügbar ist. Auch immer noch kein Grund, einzelne Schreibfedern gegenüber Storyboards zu wählen.

  1. Wiederverwendbarkeit

Argument: Wenn Sie für jede Unterklasse UIViewController eine Schreibfeder erstellen, können Sie Code wiederverwenden, damit Sie nicht für jede Szene in Ihrem Storyboard alle Einschränkungen und Ausgänge einrichten müssen.

Antwort: Auch dies ist kein Grund, einzelne Schreibfedern gegenüber einzelnen Storyboards zu wählen.

8
Kevin

Vor ein paar Monaten gab es auf dem LiDG-Treffen eine nette Präsentation über Storyboard .

Persönlich würde ich sagen, es ist der Weg zu einer neuen App. Es gibt einige Lücken, insbesondere bei sehr komplexen Apps, aber die Vorteile überwiegen meistens die Nachteile.

5

Einige weitere Vorteile von Storyboards:

  • Storyboards unterstützen Tabellenansichten besser. Das heißt, Sie können "Dynamic" - und "Prototype" -Zellen verwenden.
  • Es ist einfacher, Ansichtscontroller mithilfe von Storyboards zu instanziieren. Sie können folgende Aufgaben ausführen: [se lf.storyboard instantiateViewControllerWithIdentifer:]
  • Storyboards unterstützen View Controller-Container, sodass Sie Child View Controller grafisch anordnen können.

Nachteile sind:

  • Storyboards werden in XCode nur langsam gerendert, wenn sie viele Ansichtscontroller enthalten

  • Autolayout kann nicht für einen Ansichtscontroller im Storyboard aktiviert werden.

4
railwayparade

Seien Sie vorsichtig, wenn Sie Storyboards verwenden, ist Ihre App nicht abwärtskompatibel mit älteren Betriebssysteminstallationen.

3
Beleg

Ein Storyboard ist im Grunde ein Gerät, das Ihnen die Arbeit als Entwickler erleichtert. Es besteht aus einer Reihe von NIB-Dateien, sodass die Leistung ziemlich gleich ist. Als Entwickler ist es jedoch großartig, einen schnellen Überblick über den gesamten Anwendungsfluss zu erhalten.

Ich fange an, Storyboards für neue Projekte zu verwenden, vorausgesetzt, ich kann den Client davon überzeugen, iOS 5 als Mindestversion zu akzeptieren. Das liegt nur daran, dass ich es lieber so mache und weniger Zeit brauche, um die gleichen Aufgaben zu erledigen.

2
Ell Neal

Sie sehen das große Bild in einer Sekunde. Wenn Sie viele NIB-Dateien haben, sehen Sie das große Ganze nicht. Einfachere Pflege Ihrer Programme. Einfacher zu verstehen, andere Programme ... unter anderem.

1
Ricardo

Ihre Einstellung zum automatischen Layout kann sich auch darauf auswirken, ob Sie Storyboards verwenden möchten. Mit xibs können Sie das automatische Layout für jede xib-Datei aktivieren oder deaktivieren. Dies ermöglicht eine Mischung in Ihrer Anwendung, während Storyboards Ihre Auswahl auf ALLE darin enthaltenen Ansichten anwenden.

1
Drew C

Storyboards haben viel mehr Probleme als Vorteile. Hier ist eine Liste ihrer Probleme, kopiert von iraycd :

  • Storyboards schlagen zur Laufzeit fehl, nicht zur Kompilierungszeit : Sie haben einen Tippfehler in einem Segue-Namen oder haben ihn falsch in Ihrem Storyboard verbunden? Es wird zur Laufzeit explodieren. Sie verwenden eine benutzerdefinierte UIViewController-Unterklasse, die in Ihrem Storyboard nicht mehr vorhanden ist? Es wird zur Laufzeit explodieren. Wenn Sie solche Dinge im Code tun, werden Sie sie frühzeitig während der Kompilierungszeit abfangen. Update: Mein neues Tool StoryboardLint löst dieses Problem meistens.

  • Storyboards werden schnell verwirrend : Je größer Ihr Projekt wird, desto schwieriger wird die Navigation in Ihrem Storyboard. Wenn mehrere Ansichtscontroller mehrere Segmente zu mehreren anderen Ansichtscontrollern haben, sieht Ihr Storyboard schnell aus wie eine Schüssel Spaghetti, und Sie zoomen hinein und heraus und scrollen über den gesamten Bereich, um den gewünschten Ansichtscontroller zu finden für und um herauszufinden, welche Übergänge wo sind. Update: Dieses Problem kann meistens gelöst werden, indem Sie Ihr Storyboard in mehrere Storyboards aufteilen, wie in dieser Artikel von Pilky und dieser Artikel von Robert Brown .

  • Storyboards erschweren die Arbeit in einem Team : Da Sie normalerweise nur eine große Storyboard-Datei für Ihr Projekt haben, können mehrere Entwickler regelmäßig Änderungen an dieser Datei vornehmen Kopfzerbrechen bereiten: Änderungen müssen zusammengeführt und Konflikte gelöst werden. Wenn ein Konflikt auftritt, ist es schwer zu sagen, wie er gelöst werden kann: Xcode generiert die Storyboard-XML-Datei und wurde nicht wirklich mit dem Ziel entwickelt, dass ein Mensch sie lesen oder gar bearbeiten muss.

  • Storyboards erschweren oder machen Codeüberprüfungen nahezu unmöglich : Peer-Code-Überprüfungen sind eine großartige Sache für Ihr Team. Wenn Sie jedoch Änderungen an einem Storyboard vornehmen, ist es fast unmöglich, diese Änderungen mit einem anderen Entwickler zu überprüfen. Alles, was Sie aufrufen können, ist ein Diff einer riesigen XML-Datei. Zu entziffern, was sich wirklich geändert hat und ob diese Änderungen korrekt sind oder ob sie etwas kaputt gemacht haben, ist wirklich schwierig.

  • Storyboards verhindern die Wiederverwendung von Code : In meinen iOS-Projekten erstelle ich normalerweise eine Klasse, die alle Farben und Schriftarten sowie Ränder und Einfügungen enthält, die ich in der gesamten App verwende Um ein einheitliches Erscheinungsbild zu erhalten: Es ist eine Änderung um eine Zeile, wenn ich einen dieser Werte für die gesamte App anpassen muss. Wenn Sie solche Werte im Storyboard festlegen, duplizieren Sie sie und müssen jedes einzelne Vorkommen finden, wenn Sie sie ändern möchten. Es ist sehr wahrscheinlich, dass Sie eines verpassen, da es in Storyboards kein Suchen und Ersetzen gibt.

  • Mit Storyboards können Sie alles zweimal ausführen : Erstellen Sie eine universelle App, die sowohl auf dem iPad als auch auf dem iPhone ausgeführt werden kann? Wenn Sie Storyboards verwenden, haben Sie normalerweise ein Storyboard für die iPad-Version und eines für die iPhone-Version. Um beides synchron zu halten, müssen Sie jede Änderung der Benutzeroberfläche oder des App-Workflows an zwei Stellen durchführen. Yay. Update: In iOS 8 und Xcode 6 können Sie ein einzelnes Storyboard für iPhone und iPad verwenden.

  • Storyboards erfordern ständige Kontextwechsel : Ich arbeite und navigiere viel schneller im Code als in Storyboards. Wenn Ihre App Storyboards verwendet, wechseln Sie ständig Ihren Kontext: "Oh, ich möchte, dass durch Tippen auf diese Tabellenzelle ein anderer Ansichtscontroller geladen wird. Jetzt muss ich das Storyboard öffnen, den richtigen Ansichtscontroller finden und einen neuen Bereich erstellen Gehen Sie zu dem anderen View Controller (den ich ebenfalls finden muss), geben Sie dem Segue einen Namen, merken Sie sich diesen Namen (ich kann keine Konstanten oder Variablen in Storyboards verwenden), wechseln Sie zurück zum Code und hoffen Sie, dass ich den Namen nicht falsch eingebe Wie ich wünschte, ich könnte genau hier, wo ich bin, diese drei Codezeilen eingeben! " Nein, es macht keinen Spaß. Das Umschalten zwischen Code und Storyboard (und zwischen Tastatur und Maus) wird schnell alt und verlangsamt Sie.

  • Storyboards lassen sich nur schwer umgestalten : Wenn Sie Ihren Code umgestalten, müssen Sie sicherstellen, dass er weiterhin den Erwartungen Ihres Storyboards entspricht. Wenn Sie Dinge in Ihrem Storyboard verschieben, werden Sie erst zur Laufzeit feststellen, ob es mit Ihrem Code noch funktioniert. Es fühlt sich für mich so an, als müsste ich zwei Welten synchron halten. Es fühlt sich spröde an und entmutigt mich, meine bescheidene Meinung zu ändern.

  • Storyboards sind nicht durchsuchbar : Eine projektweite Suche in Xcode ist keine projektweite Suche, wenn Sie Storyboards verwenden. Sie werden nicht in die Suche einbezogen. Wenn Sie also eine benutzerdefinierte Klasse aus Ihrem Code entfernen oder umbenennen, müssen Sie das Storyboard manuell durchgehen oder sich das unformatierte XML ansehen, um sicherzustellen, dass es Ihren Codeänderungen entspricht. Nein, Sir, ich mag es nicht. Update: Storyboards können in Xcode 6 durchsucht werden.

  • Storyboards sind weniger flexibel : Im Code können Sie grundsätzlich alles tun, was Sie wollen! Bei Storyboards sind Sie auf eine Teilmenge der Code-Funktionen beschränkt. Besonders wenn Sie einige fortgeschrittene Dinge mit Animationen und Übergängen tun möchten, werden Sie feststellen, dass Sie "gegen das Storyboard kämpfen" müssen, um es zum Laufen zu bringen.

  • In Storyboards können Sie den Typ der speziellen Ansichtscontroller nicht ändern : Sie möchten eine UITableViewController in eine UICollectionViewController? Oder in eine Ebene UIViewController? In einem Storyboard nicht möglich. Sie müssen den alten Ansichtscontroller löschen und einen neuen erstellen und alle Segmente wieder verbinden. Es ist viel einfacher, eine solche Codeänderung vorzunehmen.

  • Storyboards fügen Ihrem Projekt zwei zusätzliche Verbindlichkeiten hinzu : (1) Das Storyboard-Editor-Tool, das das Storyboard-XML generiert, und (2) die Laufzeitkomponente, die das XML analysiert und erstellt daraus UI- und Controller-Objekte. Beide Teile können Fehler enthalten, die Sie nicht beheben können.

  • In Storyboards können Sie einer UIImageView keine Unteransicht hinzufügen : Wer weiß warum.

  • In Storyboards können Sie das automatische Layout für einzelne Ansichten (-Controller) nicht aktivieren. : Aktivieren/Deaktivieren Sie in einem Storyboard die Option für das automatische Layout Die Änderung wird auf ALLE Controller im Storyboard angewendet. (Danke an Sava Mazăre für diesen Punkt!)

  • Storyboards haben ein höheres Risiko, die Abwärtskompatibilität zu beeinträchtigen : Xcode ändert manchmal das Storyboard-Dateiformat und garantiert nicht, dass Sie es öffnen können Storyboard-Dateien, die Sie heute in einigen Jahren oder Monaten erstellen. (Danke an thoughtadvances für diesen Punkt. Siehe den Originalkommentar )

  • Es ist McDonald's : Um es in Steve Jobs 'Worten über Microsoft auszudrücken: Es ist McDonald's (Video) !

1
Eric

Vorteile:

1) Es ist sehr schön, Schnittstellen zu entwerfen

2) Sie können StoryBoard-Segmente verwenden, um Navigations-/Modalbeziehungen auf coole Weise zu identifizieren.

3) Wenn Ihre App mehrere Geräte unterstützt, können Sie auf diese Weise verschiedene Ansichten organisieren.

4) Prototyping ist ein weiterer zusätzlicher Vorteil.

5) Prototype UITableViewCell kann Zeit sparen und auch die Menge des Codes reduzieren.

6) Mit StoryBoard können Sie alle Bildschirme der App an einem Ort sehen.

7) Sie können die Beziehung zwischen ihnen leicht anzeigen

8) Wenn Sie an einem Code arbeiten, können Sie den Ablauf der App besser verstehen.

9) Sie können die Benutzeroberfläche für iPhone 4 und iPhone 5 einrichten, indem Sie den Retina-Formfaktor aus dem Storyboard anwenden, ohne die App immer wieder auszuführen.

10) Kunden können den Prototyp der App sehen, bevor sie mit der Entwicklung beginnen. Hier hilft Ihnen das Storyboard sehr.

Nachteile:

1) Es ist nur in iOS 5+ verfügbar

2) StoryBoardSegues sind ziemlich starr und Sie können prepareForSegue oft verwenden.

4) Wie IB, nicht sehr freundlich mit anderen Display-Engines und Toolkits.

4) Es ist schwierig, Entwürfe für eine einzelne Ansicht oder eine Reihe von Ansichten freizugeben - Sie müssen alles oder nichts senden.

5) Für das Storyboard benötigen Sie einen großen Bildschirm, insbesondere für das iPad.

6) Schwierigkeiten beim Kopieren von Ansichten aus anderen Apps in das Storyboard.

7) Probleme im Storyboard, wenn mehrere Entwickler mit git repository an demselben Projekt arbeiten

von einer Ressource kopiert

1
Sandeep Rajbhar

Vor iOS 7 waren Storyboards nett, aber kein Muss. Sie führten so viele Probleme ein, wie sie lösten. iOS 7 hat die Balance in Richtung Storyboards gekippt.

Mit iOS 8 und 9 ist dies keine Frage mehr: Verwende Storyboards!

Der Hauptnachteil von Storyboard ist, dass Sie vollständig von XCode abhängig sind und möglicherweise Stunden damit verbringen, Ihre Räder auf XCode-Bugs zu drehen. Aber XCode ist viel besser geworden und die Vorteile von Storyboards sind jetzt zu zahlreich, um sie zu ignorieren. Tabellenansicht Zellenprototypen, Größenklassen, automatische Layoutunterstützung und so weiter.

Einige Hinweise:

  • Stellen Sie sich jedes Storyboard als Container für zusammengehörige View-Controller vor. Betrachten Sie es nicht als großartiges Layout Ihrer gesamten Anwendung.
  • Möglicherweise benötigen Sie mehr als ein Storyboard
  • Segues sind wirklich nur für die einfachsten Anwendungsfälle nützlich - dafür sind sie großartig. Aber in einer realen Welt passieren viele Übergänge aus dem Code heraus. Und das ist in Ordnung.
  • Schreiben Sie eine Kategorie, um Ansichtscontroller programmgesteuert aus den Storyboards zu instanziieren. Sie müssen also nur vc = SomeViewController.create () zulassen, wobei die Methode alle Details handhabt (Storyboard ziehen, Ansichtscontroller aus Storyboard ziehen usw.) ).
0
n13