Middle
Ki van a válaszláncban (responder chain) az iOS-ben?
sobes.tech MI
Válasz az MI-től
A válaszadói lánc (responder chain) egy olyan objektumok sorozata, amelyek UIResponder-ből öröklődnek, és képesek eseményt feldolgozni.
A tipikus lánc a következőket tartalmazza:
- Az
UIResponder, amely kezdetben megkapja az eseményt: Ez lehet egyUIView(például egy gomb) vagy egyUIViewController. - Szupernézet: Ha a válaszadó nem kezeli az eseményt, az átadódik a szupernézetének.
- Nézet-vezérlő (UIViewController): Ha a szupernézet nem kezeli az eseményt, átadható a vezérlőjének.
- Ablak (UIWindow): Ha a vezérlő nem kezeli az eseményt, átadódik a
UIWindowobjektumnak. - Alkalmazás (UIApplication): Ha az ablak nem kezeli az eseményt, átadódik a
UIApplication-nak. - Alkalmazás delegátusa (AppDelegate): Abban az esetben, ha a
UIApplicationnem kezeli az eseményt, átadható a delegátusának.
Az esemény továbbítása az eseménykezelő módszer (touchesBegan(_:with:), motionBegan(_:with:), stb.) meghívásával történik a lánc következő válaszadójánál, ha a jelenlegi válaszadó nem kezelte az eseményt (azaz, ha a módszer implementációja nem hívja a super-t).