MobDevコースのiOS部分のプロジェクトは、 Xcodeで作成された目的Cの気象アプリケーションで構成されています。
Myweatherアプリを使用すると、次のことができます。





アプリケーションは、 MVCモデル: model 、 v iew、 c ontrollerに基づいています。
このモデルは、アプリケーションデータを定義する責任があります。
都市、都市リスト、予測クラスはアプリケーションモデルです。予測クラスを使用して、 Open.Meteo APIを介して天気情報のキャプチャを非同期に管理し、ユーザーにスムーズなアプリケーションを使用することを確認することにしました。
APIは、 JSONシリアル化を介して使用されます。
ビューは、モデルに含まれるデータを表示し、ユーザーとアプリケーションとの相互作用を「キャプチャ」します。コントローラーはアプリケーションの脳です。ビューとモデルの間のリンクを提供し、ビューで送信されたユーザー入力を管理し、モデルに更新を送信します。
Uinavigationコントローラーを使用すると、スタック構造(LIFOロジック)を使用して複数のビューの使用を迅速かつ直感的に管理できます。

4つのビューコントローラーがあります:
このビューでは、ユーザーの現在の場所を導き出すためにLocationManager録音を実装し、Viewを介した天気情報のリクエストが完了した後、予測クラスから送信された通知をリッスンするためにコントローラーを記録します。
ビュー(Method ' ViewDidloaded ')を開始すると、コントローラーはファイルを介して、お気に入りの都市のリスト(名前、緯度、経度を処理する3つの配列)を取得します。
ナビゲーションバーのボタンを使用すると、それぞれのビューコントローラーのセグラを開始できます。

結果は、検索結果の数に等しいセクションと行数を備えた動的なuitableViewに表示されます。 TableViewセルのクリックをキャプチャするリスナーがあります。これにより、天気を示すために予測にリクエストを割り当てるMyWeatherTableViewControllerに通知を送信できます。
操作が完了すると、SearchCityViewControllerがNavigationControllerスタックからポップする通知を受け取ります。
NB :この通知交換操作は、都市の選択を合図したViewControllerの代表者(プロトコルを定義する)を実装することで置き換えることができます。

ユーザーがテーブルビューセルを選択すると、上記の同じ手順が適用され、MyWeatherTableViewControllerに通知して予測オブジェクトを初期化し、遷移を行い、ビューを表示します。

注釈を作成するために、ViewControllerはファイルに保存されているお気に入りの都市の配列を受け取り、お気に入りの都市の座標の各ペアの注釈を描きます。
アノテーションのタッチにリスナーがいます。これは、選択した都市での現在の天気リクエストの生成とともに進行し、ユーザーに表示することを続けます。
