Visão Geral do Projeto
Parte da seção Lógica e Fluxo do Journey de Swift da Coddy. Lição 33 de 56.
Você vai criar um pequeno rastreador de hábitos. O estado fica em um único dicionário que mapeia o nome de um hábito ao histórico dos dias em que ele foi concluído durante a semana:
var habits: [String: [Int]] = [
"read": [1, 3, 5], // feito na seg, qua, sex
"workout": [2, 4] // feito na ter, qui
]Os dias são inteiros 1...7 para Mon...dom. Ao longo das próximas quatro lições, você adicionará recursos um de cada vez:
- Adicionar um hábito e marcá-lo como concluído
- Calcular sequências ao longo da semana
- Imprimir uma grade semanal
- Comparar duas semanas
Cada lição é independente; você declarará novamente o dicionário no início de cada arquivo. O estado tem a mesma estrutura, portanto os métodos que você escrever serão aplicáveis entre as lições.
Desafio
IniciantePara iniciar o projeto, escreva o código de configuração dos dados:
- Inicialize um dicionário
habitsvazio ([String: [Int]]) - Imprima a quantidade de hábitos
- Imprima se o dicionário está vazio
A saída esperada é:
0
trueExperimente você mesmo
// TODO: declare um [String: [Int]] vazio, então imprima count e isEmpty
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Lógica e Fluxo
1Strings a Fundo
Contagem e ÍndicesCase e TrimBusca em StringsDivisão e JunçãoSubstituindo SubstringsRecapitulação - Verificação de Nome de Usuário4Conjuntos
Criando ConjuntosUnião e InterseçãoSubtração e Diferença SimétricaSubconjunto e SuperconjuntoRecapitulação - Filtro de Tags7Projeto - Monitor de Hábitos
Visão Geral do ProjetoMarcar como Concluído10Projeto - Mecanismo de Quiz
Visão Geral do ProjetoFazer Perguntas2Intervalos e Strides
Fechado vs Meio-AbertoStrideMétodos de IntervaloIntervalos no SwitchRecapitulação - Grade de Calendário5Funções de Ordem Superior Parte 1
MapFilterReduceEncadeando map, filter, reduceRecapitulação - Estatísticas de PalavrasPratique por conta própria: Playground de Swift