Sobes.tech
Junior — Middle

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:

  1. Prenos cez inicializátor — pri vytváraní nového kontroléra odovzdajte údaje cez konštruktor.

  2. Vlastnosti kontroléra — nastavte hodnoty vlastností cieľového kontroléra pred prechodom.

  3. 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.

  4. Delegate (delegáti) — na spätné odovzdanie údajov od dieťaťa k rodičovi.

  5. NotificationCenter — odosielanie oznámení s údajmi, ktoré môžu počúvať iné komponenty.

  6. Closure (uzávery) — odovzdanie callback funkcií na spätné odovzdanie údajov.

  7. 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
        }
    }
}