¿De qué maneras se puede implementar la transferencia de datos entre componentes o pantallas en iOS?
sobes.tech AI
Respuesta de la IA
En iOS, existen varias formas de transferir datos entre componentes o pantallas:
-
Transferencia a través del inicializador — al crear un nuevo controlador, pasar datos mediante el constructor.
-
Propiedades del controlador — establecer los valores de las propiedades del controlador de destino antes de la transición.
-
Segue y método prepare(for:sender:) — al usar Storyboard, se pueden transferir datos en el método prepare, obteniendo una referencia al siguiente controlador.
-
Delegate (delegados) — para devolver datos del controlador hijo al controlador padre.
-
NotificationCenter — enviar notificaciones con datos que otros componentes pueden escuchar.
-
Closure (cierres) — pasar funciones callback para devolver datos.
-
Singleton o gestor de datos compartido — almacenar y acceder a datos comunes a través de un objeto global.
Ejemplo de transferencia de datos mediante 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
}
}
}