Padrões de iteração e mutabilidade
Aprenda padrões comuns de iteração sobre arrays/dicionários/conjuntos, use índices e enumerated() e entenda a mutabilidade com let versus var (fundamentos de copy-on-write).
Padrões de iteração e mutabilidade é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 3 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 3 aulas no total.
Por que iteração e mutabilidade?
Objetivo: iterar com segurança e clareza sobre coleções e saber quando elas são mutáveis. Abordaremos arrays, dicionários, conjuntos, índices e enumerated(), além de let versus var.
for-in (Array)
for-in itera diretamente sobre os elementos; é simples e claro para arrays.
let nums = [10, 20, 30]
for n in nums {
print("value:", n)
}enumerated()
Use enumerated() para obter pares (índice, valor) durante a iteração.
let letters = ["a","b","c"]
for (i, ch) in letters.enumerated() {
print(i, ch) // 0 a, 1 b, 2 c
}Dicionário e Set
Os dicionários fornecem pares (chave, valor). Os conjuntos não são ordenados — use sorted() para obter uma saída estável.
let ages = ["Ada": 20, "Bob": 25]
for (name, age) in ages {
print(name, age)
}
let colors: Set<String> = ["red", "green", "blue"]
for c in colors.sorted() { // sort for stable order
print(c)
}Índices e fatias
Use startIndex, endIndex e index(after:) para acessar elementos com base em índices. As fatias são visões de ArraySlice.
let arr = [5,6,7,8]
var i = arr.startIndex
while i < arr.endIndex {
print("arr[", i, "] =", arr[i])
i = arr.index(after: i)
}
let slice = arr[1...2] // ArraySlice
print("slice", slice)Mutabilidade e COW
Mutabilidade: declare com var para modificar. As coleções usam cópia na escrita — as cópias são baratas até serem modificadas.
let fixed = [1,2,3]
// fixed.append(4) // error: cannot use mutating member on immutable value
var bag = [1,2,3]
bag.append(4) // ok
var bagCopy = bag // COW: cheap copy until either changes
bagCopy[0] = 9
print("bag", bag, "copy", bagCopy)Regra de mutabilidade
Verificação rápida: qual declaração permite modificar uma coleção?
Recapitulação
Recapitulação: prefira for-in baseado em elementos, use enumerated() para índice e valor, ordene os conjuntos quando precisar de ordem, navegue usando índices de String/Array e faça mutações somente com var, levando COW em consideração.
Perguntas Frequentes
A aula “Padrões de iteração e mutabilidade” é grátis?
Sim — o texto completo de “Padrões de iteração e mutabilidade” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 3 aulas no total.
O que vou aprender em “Padrões de iteração e mutabilidade”?
Aprenda padrões comuns de iteração sobre arrays/dicionários/conjuntos, use índices e enumerated() e entenda a mutabilidade com let versus var (fundamentos de copy-on-write). Você pratica Swift Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Swift Academy?
Nenhuma experiência prévia é necessária. Swift Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 3.
Quanto tempo leva a aula “Padrões de iteração e mutabilidade”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Swift Academy?
Sim. Cada aula de Swift Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Arrays, dicionários e conjuntos
- Conjuntos — associação e operações
- Padrões de iteração e mutabilidade