The Weather App Course

A 15 part YouTube video series on building a Mobile Weather application for iOS using Swift and SwiftUI and the MVVM design pattern. Please open in YouTube to find description and links mentioned in the video.
Buy Me a Coffee at
An introduction to the course and an overview of the application that we will be creating.
Get an API Key from and test fetching the JSON for a 7 day weather forecast for your location.
Create a Codable Swift struct based on that JSON feed so that you will be able to fetch the data for use in your app.
Create a reusable API Service class with a shared singleton to fetch and decode JSON from any API.
Use CoreLocation to determine longitude and latitude from a location string then fetch and decode the JSON response.
Start building the Mobile Weather App by testing your model and APIService singleton in a full Xcode project.
Build a SwiftUI List to display the results from your API request from OpenWeatherMap.
Start the transformation to the MVVM design pattern by creating a Forecast ViewModel to display the contents of a single day forecast.
Continue work on the MVVM design pattern by adding in a ForeCastList ViewModel and introduce an Observable Object.
Switch between Metric and Imperial with no new API requests. Save location and unit choice in UserDefaults with AppStorage.
Use Swift Package Manager to import SDWebImage to download, cache and display weather icon images.
Display loading activity view during fetch request and display error messages to uses that make sense.
Fix issues with keyboard not dismissing and add search field clear button. Also improve error message.
Create an app icon and launch screen. Use a free tool to export all Icon asset images and learn about Launch Screen options introduce in iOS 14.
Refactor the APIService class to use the Combine framework.

© 2023 CreaTECH Solutions