Sobes.tech
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.