Necesita un objeto de modelo de datos que almacene los datos para la aplicación.
Un modelo de datos es un objeto personalizado e independiente al que se puede acceder desde cualquier lugar de la aplicación. El objeto del modelo de datos no sabe nada sobre las vistas o los controladores de vista. Simplemente almacena datos y las relaciones lógicas entre esos datos.
Cuando diferentes partes de la aplicación necesitan escribir o leer datos, escriben y leen el modelo de datos. En su caso, view1 guardará sus datos en el modelo de datos cuando se descargue y luego view2 leerá esos datos del modelo de datos cuando se carga (o viceversa).
En una aplicación diseñada correctamente, no hay dos controladores de vista debería tener acceso a los datos internos de otro controlador. (La única razón por la que un controlador de vista necesita saber de la existencia de otro controlador es si tiene que desencadenar la carga de ese otro controlador.)
La manera rápida y sucia para crear un modelo de datos es añadir atributos al delegado de la aplicación y luego llamar al delegado de la aplicación de los controladores de vista usando:
YourAppDelegateClass *appDelegate = [[UIApplication sharedApplication] delegate];
myLocalProperty = appDelegate.someDataModelProperty;
Esto funcionará para proyecto pequeño pero a medida sus datos se vuelven complejos, debe crear una clase dedicada para su modelo de datos.
Editar:
Para aclarar para su caso específico, se agregaría la llamada al modelo de datos cuando el receptor se activa viewController.
La colocación de los datos en un método init o viewDidLoad
no funcionará porque en un UITabBar
los usuarios pueden alternar sin descargar la vista o reiniciar el controlador de vista.
El mejor lugar para recuperar datos cambiantes es en el método de controlador viewWillAppear
. De esta forma, los datos se actualizarán cada vez que el usuario cambie a esa pestaña.
Muchas gracias. Uso ahora el enfoque singleton. También publiqué un enlace a un buen tutorial que describe los pasos que se deben seguir para crear un modelo de datos único. –