Cilj laboratorijskih vježbi je kreirati mobilnu aplikaciju u kojoj korisnik može pohranjivati podatke o turističkim destinacijama koje je isti posijetio. Kroz različite zahtijeve vježbe prolaze kroz osnovne građevne blokove koji se koriste prilikom izrade iOS mobilnih aplikacija. Od struktura, objekata i klasa do korištenja vanjskih library-a i dependency-ja. Prolaskom kroz ove laboratorijske vježbe student stječe osnovna znanja za razvoj iOS mobilnih aplikacija.
Druga po redu laboratorijska vježba iz kolegija Razvoj mobilnih aplikacija kroz koju će se studenti upoznati sa strukutrama i njihovom primjenom, UIAlertController-om i MKMapView-om.
Prvi dio vježbe će staviti fokus na Struct-ove i kako ih možemo iskoristiti za konfiguriranje UIView elemenata kroz cijelu aplikaciju. Generiranje custom klase za UITableViewCell koji smo definirali u LV 1 i style-anje iste kroz definirane strukture.
Drugi dio vježbe je nadograditi aplikaciju kako bi ista mogla prikazati detalje destinacije (koristeći definirane strukture za style-anje UIView-ova) koji će uključivati prikaz na mapama, dodati prethodnoj aplikaciji logiku za uklanjanje postojećih destinacija kroz UITableViewRowAction-e uz upozorenje korisniku prije brisanja iste.
U trećem djelu vježbe ćemo iskoristiti Swift Package Manager kako bi unutar aplikacije dodali SDWebImage library koji ćemo koristiti za prikaz slike destinacije.
-
Proširiti Destination objekt da ima informacije o url-u slike, latitudi i longitudi destinacije. Unutar DataEntryViewController-a kreirati UI elemente potrebne za unos novih parametara destinacije.
-
Omogućiti brisanje cell-a pomoću UITableViewRowAction-a
-
Dodati UIAlertController za potvrdu brisanja akcije
-
Kreirati custom cell koji će u sebi prikazivati naslov i opis destinacije
-
Kreirati strukturu pomoću koje ćemo style-ati cell (napraviti Extension na UILabel kako bismo mogli lakše aplicirati željeni style)
-
Kroz Swift Package Manager dodati SDWebImage kao external library
-
Na listi svih destinacija editirati cell koji smo kreirali u prvom zadatku i na isti dodati UIImageView za prikaz slike (prikazati sliku pomoću SDWebImageView-a)
-
Napomena: slika se prikazuje ukoliko je postavljena
-
Kroz delegat metodu UITableView-a omogućiti otvaranje prikaza detalja o destinaciji
-
Detalji destinacije moraju sadržavati prikaz slijedećih stavki: id, naslov i opis destinacije (za style elemenata koji prikazuju id, naslov i opis koristiti strukturu koju smo definirali prethodno)
-
Kada se otvore detalji destinacije, također dodati UIImageView i prikazati sliku destinacije unutar istoga
-
Ukoliko destinacija ima unešene informacije o latitudi i longitudi dodati MKMapView i na mapi prikazati lokaciju odabrane destinacije
-
Struct and Class - dodatne informacije o klasama i strukturama
-
Swift extensions - dodatne informacije o extension-ima u Swift-u
-
UIAlertController - dokumentacija za UIAlertControlleru
-
UITableView - dokumentacija za UITableView
-
MKMapView - dokumentacija za MKMapView
-
UIImageView - dokumentacija za UIImageView
-
Package Manager - detaljan opis Swift Package Managera
-
SDWebImage - library za dohvaćanje i cache slika
Image url: https://bit.ly/3gh6yH5