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:
-
Transferul prin constructor — la crearea unui nou controler, transmiteți datele prin constructor.
-
Proprietățile controlerului — setați valorile proprietăților controlerului țintă înainte de tranziție.
-
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.
-
Delegate (delegări) — pentru a returna date de la controlerul copil la cel părinte.
-
NotificationCenter — trimite notificări cu date pe care alte componente le pot asculta.
-
Closure (închideri) — transmite funcții callback pentru a returna date.
-
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
}
}
}