Sobes.tech
Junior — Middle

¿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:

  1. Transferencia a través del inicializador — al crear un nuevo controlador, pasar datos mediante el constructor.

  2. Propiedades del controlador — establecer los valores de las propiedades del controlador de destino antes de la transición.

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

  4. Delegate (delegados) — para devolver datos del controlador hijo al controlador padre.

  5. NotificationCenter — enviar notificaciones con datos que otros componentes pueden escuchar.

  6. Closure (cierres) — pasar funciones callback para devolver datos.

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