Junior — Middle
Можеш ли да изброиш и обясниш примери за функции, които приемат други функции като аргументи?
sobes.tech AI
Отговор от AI
В iOS (Swift) функциите, които приемат други функции като аргументи, често се използват за обработка на събития, асинхронни операции или настройка на поведението. Примери:
- map — прилага функция към всеки елемент от колекцията:
let numbers = [1, 2, 3]
let squares = numbers.map { $0 * $0 } // [1, 4, 9]
- filter — избира елементи, които отговарят на условие:
let evens = numbers.filter { $0 % 2 == 0 } // [2]
- sorted(by:) — сортира масив по зададен критерий:
let sortedNumbers = numbers.sorted(by: { $0 > $1 }) // [3, 2, 1]
- DispatchQueue.main.async — приема затваряне за изпълнение на код асинхронно:
DispatchQueue.main.async {
print("Изпълнява се в главния поток")
}
Тези функции позволяват писане на по-гъвкав и четим код, като предават логиката като параметър.