Sobes.tech
Junior — Middle

Care sunt modalitățile de a realiza transferul de date între componente sau ecrane în iOS?

sobes.tech AI

Răspuns de la AI

Există mai multe modalități de a transfera date între componente sau ecrane în iOS:

  1. Transferul prin constructor — la crearea unui nou controler, transmiteți datele prin constructor.

  2. Proprietățile controlerului — setați valorile proprietăților controlerului țintă înainte de tranziție.

  3. Segue și metoda prepare(for:sender:) — utilizând Storyboard, puteți transmite date în metoda prepare, obținând o referință la controlerul următor.

  4. Delegate (delegări) — pentru a returna date de la controlerul copil la cel părinte.

  5. NotificationCenter — trimite notificări cu date pe care alte componente le pot asculta.

  6. Closure (închideri) — transmite funcții callback pentru a returna date.

  7. Singleton sau manager de date comun — stocați și accesați date comune printr-un obiect global.

Exemplu de transfer de date prin 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
        }
    }
}