Sobes.tech
Middle

როგორ მიმდინარეობს მოვლენის დამუშავების პროცესი, როდესაც მომხმარებელი დააჭერს აპლიკაციის ხატულას?

sobes.tech AI

პასუხი AI-სგან

  1. მომხმარებელი დააჭერს აპლიკაციის ხატს მთავარი ეკრანზე.
  2. SpringBoard (სისტემური აპლიკაცია მთავარი ეკრანის მართვისთვის) იჭერს შეხების მოვლენის.
  3. SpringBoard განსაზღვრავს, რომელი აპლიკაცია ემთხვევა დაჭერილ ხატს.
  4. SpringBoard აგზავნის IPC შეტყობინებას (Inter-Process Communication) პროცესს launchd.
  5. launchd არის სისტემური პროცესი, რომელიც პასუხისმგებელია სხვა პროცესების დაწყებაზე. ის იღებს მოთხოვნას აპლიკაციის დაწყებისთვის.
  6. launchd ამოწმებს დაშვების უფლებებს, ხელს აწერს აპლიკაციას.
  7. launchd ქმნის ახალ პროცესს აპლიკაციისთვის.
  8. პირველ რიგში, შექმნილ პროცესში, შესრულდება ფუნქცია main().
  9. main()-ის შიგნით ჩვეულებრივ, იძახება UIApplicationMain().
  10. UIApplicationMain() ახორციელებს შემდეგ მოქმედებებს:
    • ქმნის UIApplication ობიექტს ან მისი ქვასკლასს.
    • ქმნის აპლიკაციის დელეგატის ობიექტს (რომელიც ახორციელებს UIApplicationDelegate პროტოკოლს), თუ მითითებულია.
    • ქმნის მთავარი მოვლენის ციკლს (run loop).
    • იტვირთება მთავარი Storyboard ან xib ფაილი (თუ მითითებულია Info.plist-ში).
    • ქმნის მთავარი ფანჯარას (UIWindow) და ძირითადი ხედი კონტროლერს (root view controller).
    • ზარის application(_:didFinishLaunchingWithOptions:) მეთოდს აპლიკაციის დელეგატიდან.
    • იწყებს მთავარი მოვლენის ციკლს, რაც აპლიკაციას აძლევს მომხმარებელთან ურთიერთობის შესაძლებლობას.
  11. აპლიკაცია ხდება ხილული და მზად არის მუშაობისთვის.