Mobdev 코스의 iOS 부분에 대한 프로젝트는 Xcode 로 만든 목적 C 의 날씨 적용으로 구성됩니다.
MyWeather 앱을 사용하면 다음과 같습니다.





응용 프로그램은 MVC 모델을 기반으로합니다 : M Odel, V IEW, C Ontroller.
이 모델은 응용 프로그램 데이터를 정의 할 책임이 있습니다.
도시 , 도시 목록 및 예측 수업은 응용 프로그램 모델입니다. Open.Meteo API를 통해 날씨 정보 캡처를 비동기식으로 관리하기 위해 예측 클래스를 사용하여 사용자에게 원활한 응용 프로그램을 사용하기로 결정했습니다.
API는 JSON 직렬화를 통해 사용됩니다.
뷰는 모델에 포함 된 데이터를 표시하고 사용자와 응용 프로그램과의 상호 작용을 '캡처'하고 컨트롤러는 응용 프로그램의 뇌입니다. 뷰와 모델 사이의 링크를 제공하고,보기에서 보낸 사용자 입력을 관리하고, 모든 업데이트를 모델로 보냅니다.
Uinavigation 컨트롤러를 사용하면 스택 구조 (Lifo Logic)를 사용하여 여러 뷰의 사용을 빠르고 직관적으로 관리 할 수 있습니다.

4 개의보기 컨트롤러가 있습니다.
이보기는 LocationManager Recording을 구현하여 사용자의 현재 위치를 도출하고 API를 통한 날씨 정보 요청이 완료되면 뷰를 업데이트하기 위해 예측 클래스에서 보낸 알림을들을 수 있도록 컨트롤러를 기록합니다.
보기 (메소드 ' ViewDidloaded ')를 시작할 때 컨트롤러는 파일을 통해 선호하는 도시 목록 (이름, 위도 및 경도를 처리하는 3 개의 배열)을 검색하여 다음을 통해 컨트롤러로 전송됩니다 (파일이 존재하지 않는 경우 생성 된 경우).
탐색 표시 줄 의 버튼을 사용하면 각보기 컨트롤러의 SEGUE를 시작할 수 있습니다.

결과는 검색 결과 수와 동일한 섹션 및 행 수를 가진 동적 uitableview 에 표시됩니다. 날씨를 보여주기 위해 예측에 요청을 할당하는 MyWeathertableViewController에 알림을 보낼 수있는 TableView 셀을 클릭 할 수있는 청취자가 있습니다.
작업이 완료되면 SearchCityViewController는 NavigationController 스택에서 자체적으로 알림을받습니다.
NB :이 알림 교환 작업은 도시 선택을 알리는 ViewController의 대의원 (프로토콜을 정의함으로써)을 구현하여 대체 될 수 있습니다.

사용자가 테이블 뷰 셀을 선택하면 위에서 설명한 동일한 절차가 적용되어 MyWeathertableViewController에 알림을주기하여 예측 개체를 초기화하고 전환을 표시합니다.

주석을 만들기 위해 ViewController는 파일에 저장된 좋아하는 도시의 배열을 수신하고 좋아하는 도시의 각 좌표 쌍에 대한 주석을 그립니다.
선택된 도시에서 현재 날씨 요청의 생성과 함께 진행되는 주석 접촉에 대한 청취자가 있으며 사용자에게 보여줍니다.
