Akými spôsobmi je možné realizovať prenos dát medzi komponentami alebo obrazovkami v iOS?
sobes.tech AI
Odpoveď od AI
V iOS existuje niekoľko spôsobov, ako prenášať údaje medzi komponentmi alebo obrazovkami:
-
Prenos cez inicializátor — pri vytváraní nového kontroléra odovzdajte údaje cez konštruktor.
-
Vlastnosti kontroléra — nastavte hodnoty vlastností cieľového kontroléra pred prechodom.
-
Segue a metóda prepare(for:sender:) — pri použití Storyboard môžete preniesť údaje v metóde prepare, získaním odkazu na nasledujúci kontrolér.
-
Delegate (delegáti) — na spätné odovzdanie údajov od dieťaťa k rodičovi.
-
NotificationCenter — odosielanie oznámení s údajmi, ktoré môžu počúvať iné komponenty.
-
Closure (uzávery) — odovzdanie callback funkcií na spätné odovzdanie údajov.
-
Singleton alebo spoločný správca údajov — ukladanie a prístup k spoločným údajom cez globálny objekt.
Príklad prenosu údajov cez prepare(for:sender:):
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "showDetail" {
if let detailVC = segue.destination as? DetailViewController {
detailVC.data = self.selectedData
}
}
}