Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não consigo entender o que (.map) e (.flapMap) fazem

Alguém pode me explicar me dar um exemplo pratico por favor?

1 resposta
solução!

Oi, tudo bem?

Tanto .map quanto o .flatMap são utilizados para alterar algum tipo de coleção (array ou dictionary) no Swift.

Exemplos:

.map

Sou professor em uma faculdade e tenho uma lista com a média final de todos os alunos. Porém, ao calcular as médias eu esqueci de acrescentar um 0,5 na nota dos alunos referente ao trabalho entregue. Para ajustar as médias, normalmente pensamos em utilizar um loop for in:

exemplo de loop utilizando o for in

Podemos otimizar isso através do .map:

utilizando o .map

Dessa forma, além de evitarmos o uso de var onde pode ocorrer a mudança do valor da variável, conseguimos resolver tudo em uma única linha.

.flatMap

Pode ser utilizado para tratar os valores de dentro de um array. Conseguimos facilmente extrair os nil de dentro do array:

utilizando o .flatMap no array para extrair os valores nil

Quando consumimos web services, pode ocorrer de algum objeto vir no formato de sub arrays, onde podemos tratar facilmente através do método flatMap:

uso do flatmap

Esses exemplos são os mais comuns de serem resolvidos com esses métodos.

Espero ter ajudado =]

Abs.