Sobes.tech
Middle

Kas įeina į iOS atsakymo grandinę (responder chain)?

sobes.tech AI

Atsakymas iš AI

iOS atsako grandinė susideda iš objektų, paveldėjusių iš UIResponder. Jie apima:

  • UIView (ir jos pogrupius)
  • UIViewController (ir jos pogrupius)
  • UIWindow (ir jos pogrupius)
  • UIApplication

Grandinė sudaroma taip:

  • View atveju: sekantis Responder yra jo superview arba UIViewController, jei View yra kontrolerio šaknis.
  • View Controller atveju: sekantis Responder yra jo view.superview (jei yra), arba UIWindow, jei kontroleris yra lango šaknis, arba UIApplication.
  • Window atveju: sekantis Responder yra UIApplication.
  • Application atveju: sekantis Responder yra nil (grandinė baigiasi).

Grandinė naudojama įvykių (pavyzdžiui, lietimų, gestų, valdiklių veiksmų) ir komandų (Actions) apdorojimui. Įvykis/komanda perduodama nuo pirmojo Responder aukštyn grandine, kol vienas iš objektų ją apdoroja.

Pavyzdys, kaip plinta lietimo įvykis:

  1. UIView, kuriame įvyko lietimas.
  2. Jo superview.
  3. Kitas superview.
  4. ...
  5. Kontroliuojančio UIView šaknis.
  6. UIViewController.
  7. UIWindow.
  8. UIApplication.