Proyek untuk bagian iOS dari kursus Mobdev, terdiri dari aplikasi cuaca di Objective C yang dibuat dengan Xcode .
Dengan aplikasi myweather Anda bisa:





Aplikasi ini didasarkan pada model MVC : m odel, v iew, c ontroller.
Model ini bertanggung jawab untuk mendefinisikan data aplikasi.
Kelas kota , daftar kota dan perkiraan adalah model aplikasi. Saya memutuskan untuk menggunakan kelas perkiraan untuk mengelola asinkron pengambilan informasi cuaca melalui API terbuka.
API digunakan melalui serialisasi JSON .
Tampilan menampilkan data yang terkandung dalam model dan 'menangkap' interaksi pengguna dengan aplikasi, pengontrol adalah otak aplikasi: mereka menyediakan tautan antara tampilan dan model, mengelola input pengguna yang dikirim oleh tampilan dan mengirim pembaruan apa pun ke model.
Penggunaan pengontrol uinaVigasi memungkinkan Anda untuk mengelola dengan cepat dan intuitif penggunaan beberapa tampilan menggunakan struktur tumpukan (LIFO Logic).

Ada 4 pengontrol tampilan:
Tampilan ini mengimplementasikan rekaman LocationManager untuk memperoleh lokasi pengguna saat ini dan merekam pengontrol untuk mendengarkan pemberitahuan yang dikirim oleh kelas perkiraan setelah permintaan informasi cuaca melalui API telah selesai untuk memperbarui tampilan.
Saat memulai tampilan (metode ' viewdidloaded '), pengontrol mengambil melalui file daftar kota favorit (3 array yang menangani nama, lintang, dan bujur), untuk dikirim melalui berikut ke pengontrol (jika file tidak ada mereka dibuat).
Tombol -tombol di bilah navigasi memungkinkan Anda untuk memulai segues untuk pengontrol tampilan masing -masing.

Hasilnya ditampilkan pada uItableView dinamis dengan bagian dan jumlah baris yang sama dengan jumlah hasil pencarian. Ada pendengar yang menangkap klik pada sel TableView yang memungkinkan Anda untuk mengirim pemberitahuan ke myweatherTableViewController yang mengalokasikan permintaan ke ramalan untuk menunjukkan cuaca.
Setelah operasi selesai, SearchCityViewController pada gilirannya menerima pemberitahuan untuk muncul dari tumpukan NavigationController.
NB : Operasi pertukaran pemberitahuan ini dapat digantikan dengan mengimplementasikan delegasi (dengan mendefinisikan protokol) dari ViewController yang menandakan pemilihan kota.

Ketika pengguna memilih sel tampilan tabel, prosedur yang sama yang dijelaskan di atas diterapkan untuk memberi tahu myweatheTableViewController untuk menginisialisasi objek perkiraan dan melakukan transisi untuk menampilkan tampilan.

Untuk membuat anotasi, ViewController menerima array kota favorit yang disimpan dalam file dan menarik anotasi untuk setiap pasangan koordinat kota favorit.
Ada pendengar tentang sentuhan anotasi yang berlangsung dengan generasi permintaan cuaca hari ini di kota yang dipilih dan menunjukkannya kepada pengguna.
