El proyecto para la parte de iOS del curso MobDev consiste en una aplicación meteorológica en el objetivo C realizado con Xcode .
Con la aplicación Myweather puedes:





La aplicación se basa en el modelo MVC : M Odel, V IEW, C Ontroller.
El modelo es responsable de definir los datos de la aplicación.
Las clases de la ciudad , la lista de la ciudad y el pronóstico son el modelo de aplicación. Decidí usar una clase de pronóstico para administrar asíncrono la captura de información meteorológica a través de la API Open.meteo y garantizar el uso fluido de la aplicación para el usuario.
La API se usa a través de la serialización JSON .
Las vistas muestran los datos contenidos en el modelo y 'capturar' la interacción del usuario con la aplicación, los controladores son el cerebro de la aplicación: proporcionan el enlace entre la vista y el modelo, administran las entradas del usuario enviadas por la vista y envían cualquier actualización al modelo.
El uso de un controlador de uinavigación le permite administrar rápida e intuitivamente el uso de múltiples vistas utilizando la estructura de pila (LIFO Logic).

Hay 4 controladores de vista:
Esta vista implementa la grabación de ubicación para obtener la ubicación actual del usuario y registra el controlador para escuchar las notificaciones enviadas por la clase de pronóstico una vez que la solicitud de información meteorológica a través de API se ha completado para actualizar la vista.
Al iniciar la vista (método ' ViewDidloaded '), el controlador recupera a través de la lista de ciudades favoritas (3 matrices que manejan nombres, latitud y longitud), que se enviará a través de los seguidores (si los archivos no existen, se crean).
Los botones en la barra de navegación le permiten comenzar los segues para los controladores de vista respectivos.

Los resultados se muestran en una vista dinámica de Uable con una sección y un número de filas igual al número de resultados de búsqueda. Hay un oyente que captura el clic en una celda de TableView que le permite enviar una notificación al MyWeathertableViewController que asigna una solicitud al pronóstico para mostrar el clima.
Una vez que se completa la operación, SearchCityViewController a su vez recibe una notificación para emitirse desde la pila de Controlador de navegación.
NB : Esta operación de intercambio de notificaciones podría reemplazarse mediante la implementación de un delegado (definiendo un protocolo) del ViewController que señaló la selección de una ciudad.

Cuando un usuario selecciona una celda de vista de tabla, el mismo procedimiento explicado anteriormente se aplica para notificar a MyWeathertableViewController para inicializar el objeto pronosticado y hacer la transición para mostrar la vista.

Para crear anotaciones, ViewController recibe la serie de ciudades favoritas guardadas en archivos y dibuja una anotación para cada par de coordenadas de la ciudad favorita.
Hay un oyente en contacto con una anotación que procede con la generación de una solicitud de clima actual en la ciudad seleccionada y se lo muestra al usuario.
