Sobes.tech
Middle

Kes kuuluvad iOS-i vastamise ahelasse (responder chain)?

sobes.tech AI

Vastus AI-lt

iOS-ndes vastuste ahel koosneb objektidest, mis pärivad UIResponder-ist. Nende hulka kuuluvad:

  • UIView (ja selle alamklassid)
  • UIViewController (ja selle alamklassid)
  • UIWindow (ja selle alamklassid)
  • UIApplication

Ahel ehitatakse järgmiselt:

  • Vaate puhul: järgmine vastusvõimeline on selle superview või UIViewController, kui vaade on kontrolleri juur.
  • Kontrolleri puhul: järgmine vastusvõimeline on selle view.superview (kui see on olemas), või UIWindow, kui kontroller on akna juur, või UIApplication.
  • Aknal: järgmine vastusvõimeline on UIApplication.
  • Rakenduse puhul: järgmine vastusvõimeline on nil (ahel lõpeb).

Ahelit kasutatakse sündmuste (näiteks puudutused, žestid, kontrollide tegevused) ja käskude (Actions) töötlemiseks. Sündmus/käsk edastatakse esimesest vastusvõimelisest ülespoole ahelas, kuni üks objekt selle töötleb.

Näide puudutuse sündmuse levitamisest:

  1. UIView, millel puudutus toimus.
  2. Selle superview.
  3. Järgmine superview.
  4. ...
  5. Kontrolleri juur-UIView.
  6. UIViewController.
  7. UIWindow.
  8. UIApplication.