Projektübersicht
Teil des Abschnitts Logik & Kontrollfluss der Swift-Journey von Coddy. Lektion 33 von 56.
Du wirst einen winzigen Gewohnheiten-Tracker erstellen. Der Zustand befindet sich in einem einzigen Wörterbuch, das einen Gewohnheitsnamen seiner Historie der erledigten Tage für die Woche zuordnet:
var habits: [String: [Int]] = [
"read": [1, 3, 5], // erledigt an Mo, Mi, Fr
"workout": [2, 4] // erledigt an Di, Do
]Tage sind Ganzzahlen 1...7 für Mon...Sun. In den nächsten vier Lektionen fügst du die Funktionen einzeln hinzu:
- Eine Gewohnheit hinzufügen und sie als erledigt markieren
- Serien über die Woche hinweg berechnen
- Ein wöchentliches Raster ausgeben
- Zwei Wochen vergleichen
Jede Lektion steht für sich allein. Du deklarierst das Wörterbuch am Anfang jeder Datei erneut. Der Zustand hat dieselbe Struktur, sodass die von dir geschriebenen Methoden lektionenübergreifend übertragen werden können.
Aufgabe
AnfängerUm das Projekt zu starten, schreibe den Code zum Einrichten der Daten:
- Initialisiere ein leeres
habits-Wörterbuch ([String: [Int]]) - Gib die Anzahl der Gewohnheiten aus
- Gib aus, ob das Wörterbuch leer ist
Die erwartete Ausgabe lautet:
0
trueProbier es selbst
// TODO: deklariere ein leeres [String: [Int]], dann gib count und isEmpty aus
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Kontrollfluss
1Strings im Detail
Zählen und IndizesGroß-/Kleinschreibung und TrimSuchen in StringsAufteilen und ZusammenfügenTeilstrings ersetzenRückblick – Benutzernamen prüfen4Mengen
Mengen erstellenVereinigung und SchnittmengeSubtraktion und symmetrische DifferenzTeilmenge und ObermengeWiederholung – Tag-Filter7Projekt – Gewohnheitstracker
ProjektübersichtAls erledigt markieren2Bereiche & Schrittweiten
Geschlossen vs. halboffenSchrittweiteBereichsmethodenBereiche in SwitchRückblick – Kalender-Raster5Funktionen höherer Ordnung Teil 1
MapFilterReduceVerketten von Map, Filter und ReduceRückblick – WortstatistikÜbe selbstständig: Swift-Playground