Menu
Coddy logo textTech

Projektübersicht

Teil des Abschnitts Logik & Kontrollfluss der Swift-Journey von Coddy — Lektion 33 von 56.

Du wirst einen winzigen Gewohnheits-Tracker bauen. Der Status befindet sich in einem einzigen Dictionary, das einen Gewohnheitsnamen auf seinen Verlauf der erledigten Tage für die Woche abbildet:

var habits: [String: [Int]] = [
    "read": [1, 3, 5],          // erledigt am Mo, Mi, Fr
    "workout": [2, 4]           // erledigt am Di, Do
]

Tage sind Ganzzahlen 1...7 für Mo...So. In den nächsten vier Lektionen werden Sie nacheinander Funktionen hinzufügen:

  • Eine Gewohnheit hinzufügen und als erledigt markieren
  • Streaks über die Woche hinweg berechnen
  • Ein wöchentliches Raster drucken
  • Zwei Wochen vergleichen

Jede Lektion steht für sich allein; Sie deklarieren das Dictionary am Anfang jeder Datei neu. Der State hat dieselbe Struktur, sodass die von Ihnen geschriebenen Methoden über die Lektionen hinweg übernommen werden können.

challenge icon

Aufgabe

Anfänger

Um das Projekt zu starten, schreibe den Code für das Daten-Setup:

  1. Initialisiere ein leeres habits Dictionary ([String: [Int]])
  2. Gib die Anzahl der habits aus
  3. Gib aus, ob das Dictionary leer ist

Die erwartete Ausgabe ist:

0
true

Spickzettel

Ein Habit-Tracker kann als Dictionary modelliert werden, das Habit-Namen auf Arrays von abgeschlossenen Tagesnummern abbildet (1...7 für Mo–So):

var habits: [String: [Int]] = [
    "read": [1, 3, 5],    // erledigt am Mo, Mi, Fr
    "workout": [2, 4]     // erledigt am Di, Do
]

Nützliche Dictionary-Eigenschaften:

habits.count    // Anzahl der Einträge
habits.isEmpty  // true, wenn keine Einträge vorhanden sind

Probier es selbst

// TODO: deklariere ein leeres [String: [Int]], dann gib count und isEmpty aus
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Kontrollfluss