Lernziel
Nach dieser Lektion kannst du einen Playground anlegen, erste Zeilen Swift-Code ausführen, Ergebnisse mit print ausgeben und Kommentare schreiben.
Das Problem: Eine ganze App für eine Zeile Code?
In Lektion 0.4 hast du eine komplette App gebaut. Das war beeindruckend, aber auch umständlich: Projekt anlegen, Simulator starten, warten. Wenn du nur ausprobieren willst, was 5 + 3 ergibt oder wie ein bestimmter Befehl funktioniert, ist das viel zu viel Aufwand.
Für genau diesen Zweck gibt es Playgrounds: eine Art Notizblock für Code. Du schreibst eine Zeile, und Xcode zeigt dir sofort das Ergebnis. Kein Simulator, keine App, keine Oberfläche. Nur du und die Sprache Swift.
In der ganzen Stufe 1 arbeiten wir mit Playgrounds.
Schritt 1: Einen Playground anlegen
- Öffne Xcode.
- Wähle im Menü File → New → Playground… (
⌥ ⇧ ⌘ N) - Wähle iOS und die Vorlage Blank. Klick auf Next.
- Gib einen Namen ein, z. B.
Stufe1, und speichere den Playground in deinem Kursordner.
Tipp
Du kannst einen Playground für die ganze Stufe 1 verwenden oder einen pro Lektion anlegen. Viele finden einen pro Lektion übersichtlicher, etwa 1-01-Playgrounds, 1-02-Variablen und so weiter.
Xcode öffnet ein Fenster mit ungefähr diesem Inhalt:
import UIKit
var greeting = "Hello, playground"Schritt 2: Code ausführen
Ein Playground besteht aus zwei Teilen:
- Links steht dein Code.
- Rechts steht die Ergebnisspalte. Dort zeigt Xcode zu jeder Zeile, was dabei herauskommt.
Um den Code auszuführen, gibt es zwei Wege:
- Klick auf den blauen Play-Button links neben einer Zeile. Xcode führt den Code bis zu dieser Zeile aus.
- Oder drück
⇧ ⌘ ↩(Shift + Command + Enter), um alles auszuführen.
Probier es aus. In der Ergebnisspalte erscheint "Hello, playground".
Tipp
Beim allerersten Ausführen braucht der Playground oft ein paar Sekunden zum Starten. Danach geht es schneller.
Schritt 3: Deine erste eigene Zeile
Lösch alles im Playground und schreib stattdessen:
print("Hallo, Swift!")Führ den Code aus. Diesmal passiert zweierlei:
- In der Ergebnisspalte steht
"Hallo, Swift!\n". - Unten öffnet sich die Konsole (den Debug-Bereich kennst du aus Lektion 0.3), und dort steht
Hallo, Swift!.
Erwartetes Ergebnis
In der Konsole unten steht: Hallo, Swift!
Was ist print?
print ist ein Befehl, der etwas in der Konsole ausgibt. In Swift nennt man solche Befehle Funktionen. Was ausgegeben werden soll, steht in den runden Klammern. Text kommt dabei immer in Anführungszeichen.
Das \n in der Ergebnisspalte steht übrigens für einen Zeilenumbruch. print beendet jede Ausgabe mit einem neuen Zeilenanfang, damit die nächste Ausgabe in einer eigenen Zeile steht.
Schritt 4: Mehrere Zeilen
Code wird von oben nach unten ausgeführt, Zeile für Zeile:
print("Erste Zeile")
print("Zweite Zeile")
print("Dritte Zeile")Die Konsole zeigt:
Erste Zeile
Zweite Zeile
Dritte ZeileDas klingt banal, ist aber eine der wichtigsten Regeln überhaupt: Die Reihenfolge zählt. Ein Computer macht genau das, was du schreibst, in genau der Reihenfolge, in der du es schreibst. Nicht mehr und nicht weniger.
Schritt 5: Rechnen
print kann nicht nur Text ausgeben, sondern auch Zahlen und Rechenergebnisse:
print(5 + 3)
print(10 - 4)
print(6 * 7)
print(20 / 4)Ausgabe:
8
6
42
5Achte darauf: Zahlen stehen ohne Anführungszeichen. Mit Anführungszeichen wäre "5 + 3" ein Text, und print würde ihn einfach so ausgeben, wie er ist.
print(5 + 3) // 8
print("5 + 3") // 5 + 3Mehr zum Rechnen erfährst du in Lektion 1.3.
Schritt 6: Kommentare
Hast du die Zeichen // im letzten Beispiel bemerkt? Alles, was in einer Zeile nach // steht, ist ein Kommentar. Swift ignoriert ihn komplett. Kommentare sind Notizen für Menschen: für dich selbst oder für andere, die deinen Code lesen.
// Das ist ein Kommentar über eine ganze Zeile
print("Hallo") // Das ist ein Kommentar am Ende einer Zeile
/*
Das ist ein Kommentar
über mehrere Zeilen.
*/Kommentare sind auch praktisch, um Code vorübergehend „auszuschalten“, ohne ihn zu löschen. Markier eine oder mehrere Zeilen und drück ⌘ /. Xcode setzt dann vor jede Zeile //. Noch einmal ⌘ /, und die Kommentarzeichen sind wieder weg.
Gute Kommentare
Ein guter Kommentar erklärt, warum etwas passiert, nicht was passiert. // Addiert 1 über count += 1 hilft niemandem. // Startwert 1, weil Nutzer ab 1 zählen hilft sehr.
Was ist mit import UIKit?
In der Vorlage stand ganz oben import UIKit. Damit holt sich der Playground einen Werkzeugkasten von Apple. Für die reinen Swift-Grundlagen brauchst du ihn nicht. Du kannst die Zeile stehen lassen oder löschen. Beides funktioniert.
Später, wenn wir mit SwiftUI arbeiten, steht dort import SwiftUI. Das Prinzip kennst du schon aus Lektion 0.3.
Typische Fehler
Anführungszeichen vergessen
print(Hallo)Fehlermeldung
Cannot find 'Hallo' in scope
Ohne Anführungszeichen hält Swift Hallo für einen Namen, den es nicht kennt. Lösung: print("Hallo").
Falsche Anführungszeichen
print(„Hallo“)Fehlermeldung
Unicode curly quote found, replace with '"'
Swift akzeptiert nur die geraden Anführungszeichen ". Deutsche Anführungszeichen wie „ und “ entstehen oft, wenn man Code aus einem Textprogramm oder einer E-Mail kopiert. Auf der Mac-Tastatur tippst du die geraden mit ⇧ 2.
Klammer vergessen
print("Hallo"Fehlermeldung
Expected ')' in expression list
Jede geöffnete Klammer braucht eine schließende. Xcode markiert oft die Zeile nach dem eigentlichen Fehler. Schau also auch eine Zeile weiter oben nach.
Der Playground läuft und läuft
Manchmal hängt ein Playground, und der Fortschrittsbalken oben dreht sich endlos. Klick auf den Stop-Button unten links und führ den Code erneut aus. Hilft das nicht, schließ den Playground und öffne ihn wieder.
FAQ
Anfänger
Was bedeutet das überhaupt?Was ist der Unterschied zwischen Playground und Projekt? Ein Playground ist zum Ausprobieren: schnell, ohne Oberfläche, ohne App. Ein Projekt ist eine echte App, die du auf einem iPhone starten kannst. In Stufe 1 lernst du die Sprache im Playground, ab Stufe 2 baust du Projekte.
Warum muss ich den Code selbst ausführen? Bei der Preview ging das automatisch. Du kannst Playgrounds auch automatisch laufen lassen: Halte den Play-Button unten links gedrückt und wähle Automatically Run. Bei längerem Code kann das aber langsam werden. Viele bleiben deshalb beim manuellen Ausführen.
Wo finde ich meine Playgrounds später wieder?
Dort, wo du sie gespeichert hast. Playgrounds sind ganz normale Dateien mit der Endung .playground. Außerdem listet Xcode sie im Willkommensfenster unter den zuletzt geöffneten Dateien.
Fortgeschritten
Warum verhält es sich so?Was bedeutet die Zahl in der Ergebnisspalte, z. B. „(3 times)“? Wird eine Zeile mehrfach ausgeführt, etwa in einer Schleife (Lektion 1.5), zeigt Xcode an, wie oft. Mit dem kleinen Augen-Symbol daneben kannst du dir alle Werte ansehen, bei Zahlen sogar als Diagramm.
Kann ich print mehrere Werte auf einmal geben?
Ja, getrennt durch Kommas. print("Ergebnis:", 5 + 3) gibt Ergebnis: 8 aus. Zwischen den Werten setzt print automatisch ein Leerzeichen.
Profi
Was passiert unter der Haube?Wie führt ein Playground Code aus? Xcode kompiliert den Code im Hintergrund und führt ihn in einem eigenen Prozess aus. Die Ergebnisspalte entsteht, weil der Compiler den Code vorher „instrumentiert“: Nach jeder Zeile wird heimlich der aktuelle Wert protokolliert und an Xcode zurückgemeldet. Deshalb sind Playgrounds etwas langsamer als normaler Code.
Gibt es Alternativen zu Playground-Dateien?
Ja. Neuere Xcode-Versionen bieten das Makro #Playground, mit dem du Code-Schnipsel direkt in einer normalen Swift-Datei eines Projekts ausprobieren kannst. Außerdem gibt es im Terminal die Swift-REPL (swift repl). Für den Kurs bleiben wir bei klassischen Playgrounds.
Übungen
Übung 1: Vorstellung
Gib mit drei print-Befehlen drei Zeilen über dich aus: deinen Namen, deine Stadt und warum du Swift lernst.
Übung 2: Rechenkünstler
Lass Swift ausrechnen, wie viele Minuten ein Tag hat, und gib das Ergebnis mit einem erklärenden Text aus. Nutze dafür print mit zwei Werten.
Lösung Übung 2Erst selbst probieren!
print("Minuten pro Tag:", 24 * 60)
// Minuten pro Tag: 1440Übung 3: Fehler finden
In diesem Code stecken drei Fehler. Finde und behebe sie, ohne Xcode zu benutzen, und prüf dann im Playground, ob du recht hattest.
print("Willkommen)
Print("im Kurs")
print(„Viel Spaß!“)Lösung Übung 3Erst selbst probieren!
print("Willkommen") // schließendes Anführungszeichen fehlte
print("im Kurs") // print wird kleingeschrieben
print("Viel Spaß!") // gerade statt deutscher AnführungszeichenZusammenfassung
- Playgrounds sind zum schnellen Ausprobieren von Code, ganz ohne App.
⇧ ⌘ ↩führt den ganzen Playground aus.print(...)gibt etwas in der Konsole aus.- Code läuft von oben nach unten. Die Reihenfolge zählt.
- Text steht in geraden Anführungszeichen, Zahlen ohne.
//und/* */sind Kommentare.⌘ /kommentiert Zeilen ein und aus.
Spickzettel
print("Hallo") // Text ausgeben
print(5 + 3) // Rechenergebnis ausgeben
print("Summe:", 5 + 3) // mehrere Werte
// Kommentar
/* mehrzeiliger
Kommentar */