Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Swift lernen

Elegante Abfragen mit switch

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Um mehrere Fälle oder ganze Bereiche zu überprüfen, bietet sich das switch-Statement an. In Swift lassen sich sogar Strings mit in die Vergleiche einbeziehen.
07:60

Transkript

In diesem Video betrachten wir das Switch Statement von Swift, um elegante Abfragen zu machen, und was ich damit meine, werden wir gleich sehen. Wir erzeugen uns einen neuen Playground, gerne mit dem Namen "Switch", und legen ihn in unserem Projektordner ab, und dann können wir uns schon gleich mit unserem fantastischen Switch Statement einmal vertraut machen. Nehmen wir an, wir hätten eine Variable i mit dem Wert 42, und wir wollen jetzt verschiedene Werte, Bereiche dort prüfen. dann können wir das Ganze machen mit einem If, oder einem If mit folgender Else-If-Kaskade, oder wir verwenden ein Switch Statement. So ein Switch Statement sieht so aus, dass wir sagen, auf welche Variable wir es anwenden wollen, hier auf den Inhalt der Variablen i, und dann machen wir so einen geschweiften Block auf und zu. Ganz wichtig, erste Änderung in Swift zu anderen Programmiersprachen, ein Switch muss immer allumfassend sein, das heißt, immer alle möglichen Werte müssen im Switch-Statement abgearbeitet werden. Nun, wenn wir einen Integer nehmen als 64-bit-Zahl, dann hätten wir eine ganze Menge von Möglichkeiten, die wir hier in diesem Switch nun abprüfen müssten, und da wir natürlich nicht für alles und jeden Zustand hier etwas schreiben wollen, gibt es zunächst einmal den gut gemeinten Hinweis, erstmal die Default-clause zu schreiben, und wir sagen, wenn wir den Fall noch nicht abgedeckt haben, wollen wir nichts tun, default Break. So darf man in Swift durchaus anfangen, und wir werden jetzt die einzelnen Fälle sammeln. Ich könnte also sagen, case 10, wenn also i den Wert 10 hat, dann soll jetzt x sein, i = 10, x wäre jetzt hier eine Variable, die wir weiter verwenden könnten. Und dann können wir diesen Block weiter kopieren, 20 und so weiter, und wir gehen natürlich auch einmal auf die 42, und wir werden dann das hier ein bisschen weiter ausformulieren, und ich hab's gemacht an dieser Stelle mit let x =, damit wir hier wunderbar in unserem Playground gleich das Ergebnis sehen, an sich sollte man dann hier ein println oder so etwas verwenden, wir sind aber im Playground, wir wollen uns das Switch Statement zu Gemüte führen, also ist das alles erlaubt. So, das wäre also jetzt eine Möglichkeit, um auf die verschiedenen Wertzustände von i zu reagieren, wenn jetzt i = 5 wäre, dann haben wir eben den default Break, und dementsprechend sehen wir hier keine Ausgabe, haben wir den Wert auf 20, diesen als case abgefangen, wird uns das hier auch ausgegeben. Nun ist das Arbeiten hier mit einzelnen Werten durchaus etwas umfangreich, und manchmal wollen wir ja nur Bereiche festlegen, so etwas, wie wenn wir einen Webserver aufrufen, und sagen, gib uns mal deinen Status, dann ist ja alles zwischen 200 und 299 quasi okay, oder alles ab 400 ist nicht mehr okay, Beispiel 404 Not found, wer kennt das nicht, wenn er mal auf eine falsche URL mit dem Browser zugegriffen hat. Also die Abfrage von Bereichen, das wäre immer sehr wünschenswert gewesen, und in Swift haben wir tatsächlich jetzt diese Möglichkeiten, dass ich sagen kann: Ist es denn zwischen 1 und 100? Dann dürfen wir hier auch das ausgeben, println("Wert zwischen 1 und 100"). println("Wert zwischen 1 und 100"). Dann nehmen wir das hier mal weg, und wir können also hier dann auch die anderen Bereiche machen: Ist es denn zwischen 101 und 200? Also dann ist der Wert zwischen 101 und 200. Also dann ist der Wert zwischen 101 und 200. und dementsprechend, wenn wir dann hier das mal auf 155 hochsetzen, dann liegt unser Wert also dazwischen. Also ein Switch Statement darf auch Bereiche angeben, hier haben wir jetzt den Bereich von 1 bis einschließlich 100, durch die drei Punkte hier angegeben, wenn ich von 1 bis 99 will, dann würde ich diesen half closed range angeben, probieren wir es mal aus, 100 ist nämlich dann schon hier natürlich abzugreifen, und nicht mehr hier, denn hier würden wir jetzt nur noch gehen zwischen 1 und 99. Das ist der Unterschied, ob ich ...kleiner sage, dann ist es eben der Wert von diesem minus 1, habe ich die drei Punkte, dann meint es tatsächlich inklusive dieser 100 auf der anderen Seite. Also ein Switch Statement mit einem case, dieser case darf dann auch einen range enthalten, nicht nur eine explizite Abfrage, und ganz wichtig, ohne ein default, ohne dass alle Fälle abgefangen sind, kann ein Switch in Swift nicht existieren. Dann stellt sich noch eine wesentliche Frage, dürfen wir denn mit einem Switch Statement auch über einen String vergleichen? Und ja, in Swift dürfen wir das tun, das heißt, wenn ich eine Variable habe, hier httpStatus meinetwegen, und ich setze das Ganze mal auf okay, dann darf ich auch über diesen httpStatus ein Switch Statement ausführen, und ich darf sagen, wenn es denn okay ist, dass wir auch ausgeben: println("alles in Ordnung") und in jedem anderen Fall, das wissen wir, Swift muss eben alle Fälle behandeln, dann brauchen wir noch das default. So, jetzt haben wir den Fall "OK", dann haben wir eben das, und dann dürfen wir hier auch gerne auf "ERROR" zugreifen, und schreiben dann hier: "es liegt ein Fehler vor", ohne uns weiter darum zu kümmern, und wenn unsere String-Variable dann einen ERROR enthält, dann greift auch der case hier in unserem Switch Statement, das heißt, endlich, endlich, wir dürfen auch einen String-Compare machen in einem Switch Statement. Ja, und das soll jetzt hier dieses Video sein, Switch Statement zum Einführen mit präzisen Werten, mit Bereichen von Werten, und auch mit dem Vergleich auf Strings, und ganz wichtig, alle möglichen Werte müssen abgefragt werden, das heißt normalerweise hat jeder Switch ein default-Statement.

Swift lernen

Erkunden Sie die wichtigsten Sprachmerkmale von Swift und ihre modernen Eigenschaften wie Generics, Extensions, Tupels und Optionals.

4 Std. 2 min (30 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!