Sobes.tech
Middle

Koks yra įvykio apdorojimo procesas, kai vartotojas paspaudžia programėlės piktogramą?

sobes.tech AI

Atsakymas iš AI

  1. Vartotojas paspaudžia programėlės piktogramą pagrindiniame ekrane.
  2. SpringBoard (sisteminė programa, skirta valdyti pagrindinį ekraną) perima lietimo įvykį.
  3. SpringBoard nustato, kuri programa atitinka paspaustą piktogramą.
  4. SpringBoard siunčia IPC žinutę (Inter-Process Communication) procesui launchd.
  5. launchd yra sisteminis procesas, atsakingas už kitų procesų paleidimą. Jis gauna prašymą paleisti programą.
  6. launchd tikrina prieigos teises, pasirašo programą.
  7. launchd sukuria naują procesą programai.
  8. Pirmiausia, sukurtame procese vykdomas main() funkcija.
  9. main() viduje dažniausiai kviečiama UIApplicationMain() funkcija.
  10. UIApplicationMain() atlieka šiuos veiksmus:
    • Sukuria UIApplication objektą arba jo pogrupu.
    • Sukuria programėlės delegato objektą (įgyvendinantį UIApplicationDelegate protokolą), jei nurodyta.
    • Sukuria pagrindinį įvykių ciklą (run loop).
    • Įkelia pagrindinį Storyboard arba xib failą (jei nurodyta Info.plist).
    • Sukuria pagrindinį langą (UIWindow) ir pagrindinį vaizdo valdytoją (root view controller).
    • Iškviečia application(_:didFinishLaunchingWithOptions:) metodą programėlės delegate.
    • Pradeda pagrindinį įvykių ciklą, paruošdama programą naudotojo sąveikai.
  11. Programėlė tampa matoma ir pasiruošusi veikti.