Das Projekt für den iOS -Teil des Mobdev -Kurses besteht aus einer Wetteranwendung in objektiv C mit Xcode .
Mit der Myweather -App können Sie:





Die Anwendung basiert auf dem MVC -Modell: M Odel, V IEW, C onTroller.
Das Modell ist für die Definition der Anwendungsdaten verantwortlich.
Die Klassen der Stadt , der Stadtliste und der Prognose sind das Anwendungsmodell. Ich entschied mich für eine Prognoseklasse, um die Erfassung von Wetterinformationen über die Open.meteo -API zu verwalten und die Anwendung für den Benutzer zu gewährleisten.
Die API wird über JSON -Serialisierung verwendet.
In den Ansichten werden die im Modell enthaltenen Daten angezeigt und die Interaktion des Benutzers mit der Anwendung "erfasst". Die Controller sind das Gehirn der Anwendung: Sie stellen die Verbindung zwischen Ansicht und Modell bereit, verwalten die von der Ansicht gesendeten Benutzereingaben und senden alle Aktualisierungen an das Modell.
Mit der Verwendung eines Uinavigation -Controllers können Sie die Verwendung mehrerer Ansichten mithilfe der Stapelstruktur (LIFO -Logik) schnell und intuitiv verwalten.

Es gibt 4 View Controller:
Diese Ansicht implementiert die Standortmanager -Aufzeichnung, um den aktuellen Speicherort des Benutzers abzuleiten, und zeichnet den Controller auf, um Benachrichtigungen anzuhören, die von der Prognoseklasse gesendet wurden, sobald die Anfrage nach Wetterinformationen über API abgeschlossen wurde, um die Ansicht zu aktualisieren.
Beim Starten der Ansicht (Methode ' ViewDIDLoded ') wird der Controller über die Liste der bevorzugten Städte (3 Arrays, die Namen, Breitengrad und Längengrad verarbeiten), die über Folge an die Controller gesendet werden sollen (falls sie nicht vorhanden sind).
Mit den Schaltflächen in der Navigationsleiste können Sie die Segues für die jeweiligen Ansichten starten.

Die Ergebnisse werden in einer dynamischen UitableView mit einem Abschnitt und einer Anzahl der Zeilen der Anzahl der Suchergebnisse angezeigt. Es gibt einen Hörer, der den Klick auf eine Tabellenansichtszelle erfasst, mit der Sie eine Benachrichtigung an den MyWeatherTableViewController senden können, der der Prognose eine Anfrage zur Anzeige des Wetters zuteilt.
Sobald der Betrieb abgeschlossen ist, erhält der SearchCityViewController wiederum eine Benachrichtigung, um sich aus dem NavigationController -Stack zu streichen.
NB : Dieser Benachrichtigungsaustauschbetrieb könnte durch die Implementierung eines Delegierten (durch Definieren eines Protokolls) des ViewController ersetzt werden, der die Auswahl einer Stadt signalisierte.

Wenn ein Benutzer eine Tabellenansichtszelle auswählt, wird dieselbe oben erläuterte Prozedur angewendet, um MyWeatherTableViewController zu benachrichtigen, um das Prognoseobjekt zu initialisieren und den Übergang zur Anzeige der Ansicht vorzunehmen.

Um Anmerkungen zu erstellen, empfängt der ViewController die Arrays bevorzugter Städte, die in Dateien gespeichert sind, und zeichnet eine Annotation für jedes Koordinatenpaar der Lieblingsstadt.
Es gibt einen Zuhörer mit einer Berührung einer Annotation, die mit der Generierung einer aktuellen Wetteranfrage in der ausgewählten Stadt fortgesetzt und dem Benutzer angezeigt wird.
