Junior — Middle
Quelles fonctions de haut niveau avez-vous utilisées dans vos projets et pouvez-vous donner des exemples de leur application?
sobes.tech IA
Réponse de l'IA
Dans le développement iOS, les fonctions d’ordre supérieur sont souvent utilisées pour traiter des collections et gérer l’asynchronie. Par exemple, les méthodes map, filter et reduce sont des fonctions d’ordre supérieur qui prennent d’autres fonctions en argument.
Exemple d’utilisation de map pour transformer un tableau de nombres:
let numbers = [1, 2, 3, 4, 5]
let squaredNumbers = numbers.map { $0 * $0 }
print(squaredNumbers) // [1, 4, 9, 16, 25]
Les closures sont également souvent passés à des fonctions pour gérer des événements ou des opérations asynchrones:
func fetchData(completion: (Result<String, Error>) -> Void) {
// Simulation de chargement de données asynchrone
DispatchQueue.global().async {
let data = "Données"
completion(.success(data))
}
}
fetchData { result in
switch result {
case .success(let data):
print("Reçu: \(data)")
case .failure(let error):
print("Erreur: \(error)")
}
}
Ainsi, les fonctions d’ordre supérieur permettent d’écrire un code plus expressif et compact.