Présentation du projet
Fait partie de la section Logique et Flux du Journey Swift de Coddy. Leçon 49 sur 56.
Le deuxième projet est un moteur de quiz. L'état est une liste de questions, chacune étant un tuple de (category, text, answer) :
var questions: [(String, String, String)] = [
("math", "2 + 2?", "4"),
("geo", "Capital of France?", "paris")
]Au cours des quatre prochaines leçons, vous ajouterez des fonctionnalités une par une :
- Ajouter des questions et les poser dans l'ordre
- Évaluer les réponses (insensible à la casse, sans espaces superflus)
- Filtrer par catégorie
- Résumer la session avec une ventilation par catégorie
Comme pour le Habit Tracker, chaque leçon est indépendante ; vous reconstruirez la banque de questions en haut de chaque fichier.
Défi
DébutantPour commencer, écrivez le code de configuration des données :
- Initialisez un tableau vide de questions (
[(String, String, String)]) - Affichez le nombre d'éléments (count)
- Affichez si le tableau est vide
Le résultat attendu est :
0
trueEssayez vous-même
// TODO: déclarer un [(String, String, String)] vide appelé questions,
// puis afficher count et isEmpty
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique et Flux
1Les chaînes de caractères en profondeur
Comptage et indicesCasse et nettoyageRecherche dans les chaînesDécoupage et jointureRemplacement de sous-chaînesRécapitulatif - Vérification du nom d'utilisateur4Ensembles
Création d'ensemblesUnion et intersectionSoustraction et différence symétriqueSous-ensemble et sur-ensembleRécapitulatif - Filtre de tags7Projet - Suivi d'habitudes
Aperçu du projetMarquer comme terminé10Projet - Moteur de quiz
Présentation du projetPoser des questions2Intervalles et Pas
Fermé vs Semi-ouvertLe PasMéthodes d'intervalleIntervalles dans un SwitchRécapitulatif - Grille de calendrier5Fonctions d'ordre supérieur, Partie 1
MapFilterReduceChaînage de map, filter, reduceRécapitulatif - Statistiques de motsEntraînez-vous par vous-même : Playground Swift