Junior — Middle
Que funções de ordem superior utilizou nos seus projetos e pode dar exemplos de sua aplicação?
sobes.tech IA
Resposta da IA
No desenvolvimento iOS, as funções de ordem superior são frequentemente usadas para processar coleções e gerir a assíncronia. Por exemplo, os métodos map, filter e reduce são funções de ordem superior que aceitam outras funções como argumentos.
Exemplo de uso de map para transformar um array de números:
let numbers = [1, 2, 3, 4, 5]
let squaredNumbers = numbers.map { $0 * $0 }
print(squaredNumbers) // [1, 4, 9, 16, 25]
Também, os closures são frequentemente passados para funções para lidar com eventos ou operações assíncronas:
func fetchData(completion: (Result<String, Error>) -> Void) {
// Simulação de carregamento assíncrono de dados
DispatchQueue.global().async {
let data = "Dados"
completion(.success(data))
}
}
fetchData { result in
switch result {
case .success(let data):
print("Recebido: \(data)")
case .failure(let error):
print("Erro: \(error)")
}
}
Assim, as funções de ordem superior permitem escrever código mais expressivo e compacto.