Sobes.tech
Middle

Kdo je součástí řetězce responder (responder chain) v iOS?

sobes.tech AI

Odpověď od AI

Řetězec odpovědí v iOS se skládá z objektů, které dědí od UIResponder. Patří sem:

  • UIView (a jeho podtřídy)
  • UIViewController (a jeho podtřídy)
  • UIWindow (a jeho podtřídy)
  • UIApplication

Řetězec je sestaven následovně:

  • Pro View: následující Responder je jeho superview nebo UIViewController, pokud je View kořenovým prvkem kontroléru.
  • Pro View Controller: následující Responder je jeho view.superview (pokud existuje), nebo UIWindow, pokud je kontrolér kořenovým prvkem okna, nebo UIApplication.
  • Pro Window: následující Responder je UIApplication.
  • Pro Application: následující Responder je nil (řetězec končí).

Řetězec se používá k zpracování událostí (například doteků, gest, akcí ovládacích prvků) a příkazů (Actions). Událost/příkaz je předáván od prvního Respondera vzhůru řetězcem, dokud jej jeden z objektů nezpracuje.

Příklad šíření události dotyku:

  1. UIView, na kterém došlo k dotyku.
  2. Jeho superview.
  3. Následující superview.
  4. ...
  5. Kořenový UIView kontroléru.
  6. UIViewController.
  7. UIWindow.
  8. UIApplication.