Junior — Middle
Kas saaksite loetleda ja selgitada funktsioone, mis võtavad argumentidena teisi funktsioone?
sobes.tech AI
Vastus AI-lt
iOS (Swift) keskkonnas kasutatakse sageli funktsioone, mis võtavad teisi funktsioone argumentidena, sageli sündmuste töötlemiseks, asünkroonsete operatsioonideks või käitumise seadistamiseks. Näited:
- map — rakendab funktsiooni iga kogumi elemendile:
let numbers = [1, 2, 3]
let squares = numbers.map { $0 * $0 } // [1, 4, 9]
- filter — valib elemendid, mis vastavad tingimusele:
let evens = numbers.filter { $0 % 2 == 0 } // [2]
- sorted(by:) — sorteerib massiivi vastavalt määratud kriteeriumile:
let sortedNumbers = numbers.sorted(by: { $0 > $1 }) // [3, 2, 1]
- DispatchQueue.main.async — võtab vastu sulgse, et käivitada kood asünkroonselt:
DispatchQueue.main.async {
print("Tähtsaimas jadas")
}
Sellised funktsioonid võimaldavad kirjutada paindlikumat ja loetavamat koodi, edastades loogika parameetrina.