Przegląd projektu
Część sekcji Logika i przepływ programu ścieżki Swift w Coddy. Lekcja 33 z 56.
Zbudujesz mały rejestrator nawyków. Stan jest przechowywany w jednym słowniku, który przyporządkowuje nazwie nawyku historię dni tygodnia, w których został wykonany:
var habits: [String: [Int]] = [
"read": [1, 3, 5], // wykonano w poniedziałek, środę i piątek
"workout": [2, 4] // wykonano we wtorek i czwartek
]Dni są liczbami całkowitymi 1...7, od poniedziałku do niedzieli. W ciągu czterech kolejnych lekcji będziesz dodawać funkcje po jednej:
- Dodaj nawyk i oznacz go jako wykonany
- Oblicz serie w ciągu tygodnia
- Wyświetl tygodniową siatkę
- Porównaj dwa tygodnie
Każda lekcja jest niezależna, więc na początku każdego pliku ponownie zadeklarujesz słownik. Stan ma tę samą strukturę, dlatego napisane przez Ciebie metody można wykorzystać w kolejnych lekcjach.
Wyzwanie
PoczątkującyAby rozpocząć projekt, napisz kod konfigurujący dane:
- Zainicjalizuj pusty słownik
habits([String: [Int]]) - Wypisz liczbę nawyków
- Wypisz, czy słownik jest pusty
Oczekiwany wynik:
0
trueSpróbuj swoich sił
// TODO: zadeklaruj pusty [String: [Int]], a następnie wypisz count i isEmpty
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i przepływ programu
1Dogłębnie o ciągach znaków
Liczba i indeksyWielkość liter i usuwanie białych znakówWyszukiwanie w ciągach znakówDzielenie i łączenieZastępowanie podciągówPodsumowanie — sprawdzanie nazwy użytkownika4Zbiory
Tworzenie zbiorówSuma i część wspólnaRóżnica i różnica symetrycznaPodzbiór i nadzbiórPowtórka — filtr tagów7Projekt – Śledzenie nawyków
Przegląd projektuOznacz jako wykonane10Projekt — silnik quizów
Przegląd projektuZadawanie pytań2Zakresy i kroki
Zakresy domknięte i półotwarteKrokMetody zakresówZakresy w instrukcji switchPowtórka — siatka kalendarza5Funkcje wyższego rzędu, część 1
MapFilterReduceŁączenie map, filter i reducePodsumowanie – statystyki słówPoćwicz samodzielnie: Edytor online Swift