Middle
Kto je v reťazci odpovedí (responder chain) v iOS?
sobes.tech AI
Odpoveď od AI
Reťazec responderov (responder chain) je sled objektov, ktoré dedičia od UIResponder a majú schopnosť spracovať udalosť.
Typický reťazec zahŕňa:
- UIResponder, ktorý pôvodne prijíma udalosť: Môže to byť
UIView(napríklad tlačidlo) aleboUIViewController. - Superview: Ak responder neobsluhuje udalosť, odovzdá sa jeho superview.
- Kontrolér zobrazenia (UIViewController): Ak superview neobsluhuje udalosť, môže byť odovzdaný jeho kontroléru.
- Okno (UIWindow): Ak kontrolér neobsluhuje udalosť, odovzdá sa objektu
UIWindow. - Aplikácia (UIApplication): Ak okno neobsluhuje udalosť, odovzdá sa objektu
UIApplication. - Delegát aplikácie (AppDelegate): V prípade, že
UIApplicationneobsluhuje udalosť, môže byť odovzdaný jeho delegátovi.
Prenos udalosti sa vykonáva volaním príslušnej metódy spracovania udalosti (touchesBegan(_:with:), motionBegan(_:with:), atď.) u ďalšieho respondera v reťazci, ak aktuálny responder udalosť neobslúžil (t.j. ak implementácia metódy nevolá super).