Junior — Middle
Ce funcții de ordin superior ai folosit în proiectele tale și poți oferi exemple de aplicare?
sobes.tech AI
Răspuns de la AI
În dezvoltarea iOS, funcțiile de ordin superior sunt adesea utilizate pentru procesarea colecțiilor și gestionarea asincroniei. De exemplu, metodele map, filter și reduce sunt funcții de ordin superior care acceptă alte funcții ca argumente.
Exemplu de utilizare a map pentru a transforma un array de numere:
let numbers = [1, 2, 3, 4, 5]
let squaredNumbers = numbers.map { $0 * $0 }
print(squaredNumbers) // [1, 4, 9, 16, 25]
De asemenea, closure-urile sunt adesea transmise funcțiilor pentru a trata evenimente sau operații asincrone:
func fetchData(completion: (Result<String, Error>) -> Void) {
// Simulare de încărcare asincronă a datelor
DispatchQueue.global().async {
let data = "Date"
completion(.success(data))
}
}
fetchData { result in
switch result {
case .success(let data):
print("Primite: \(data)")
case .failure(let error):
print("Eroare: \(error)")
}
}
Astfel, funcțiile de ordin superior permit scrierea unui cod mai expresiv și compact.