Projeto para a parte do iOS do curso MOBDEV, consiste em uma aplicação climática no objetivo C fabricado com o Xcode .
Com o aplicativo MyWeather , você pode:





O aplicativo é baseado no modelo MVC : MODEL , V IEW, CONTROLLER .
O modelo é responsável por definir os dados do aplicativo.
As classes da cidade , da cidade e da previsão são o modelo de aplicativo. Decidi usar uma aula de previsão para gerenciar a captura de informações climáticas assíncronas por meio da API Open.Meteo e garantir o uso suave do aplicativo para o usuário.
A API é usada via serialização JSON .
As visualizações exibem os dados contidos no modelo e 'captura' a interação do usuário com o aplicativo, os controladores são o cérebro do aplicativo: eles fornecem o link entre visualização e modelo, gerenciam as entradas do usuário enviadas pela visualização e enviam qualquer atualização para o modelo.
O uso de um controlador de uinavigação permite que você gerencie de maneira rápida e intuitivamente o uso de várias visualizações usando a estrutura da pilha (LIFO Logic).

Existem 4 controladores de exibição:
Essa visualização implementa a gravação do LocationManager para derivar a localização atual do usuário e registra o controlador para ouvir notificações enviadas pela classe de previsão assim que a solicitação de informações meteorológicas via API for concluída para atualizar a visualização.
Ao iniciar a visualização (método ' ViewDidLoaded '), o controlador recupera através do arquivo da lista de cidades favoritas (3 matrizes que lidam com nomes, latitude e longitude), a serem enviadas por seguidores aos controladores (se os arquivos não existirem, eles são criados).
Os botões na barra de navegação permitem iniciar os Segues para os respectivos controladores de exibição.

Os resultados são exibidos em uma visão dinâmica de Uable com uma seção e número de linhas iguais ao número de resultados de pesquisa. Há um ouvinte que captura o clique em uma célula de tabela que permite enviar uma notificação ao MyWeathertableViewController que aloca uma solicitação à previsão para mostrar o clima.
Depois que a operação é concluída, o SearchCityViewController, por sua vez, recebe uma notificação para sair da pilha NavigationController.
NB : Esta operação de troca de notificação pode ser substituída pela implementação de um delegado (definindo um protocolo) do ViewController que sinalizou a seleção de uma cidade.

Quando um usuário seleciona uma célula de exibição de tabela, o mesmo procedimento explicado acima é aplicado para notificar o MyWeathertableViewController para inicializar o objeto de previsão e fazer a transição para mostrar a visualização.

Para criar anotações, o ViewController recebe as matrizes de cidades favoritas salvas em arquivos e desenha uma anotação para cada par de coordenadas da cidade favorita.
Há um ouvinte no toque de uma anotação que prossegue com a geração de uma solicitação de clima atual na cidade selecionada e a mostra ao usuário.
