The root view controller is currently in charge of fetching weather data from the Dark Sky API. Having a view controller that performs network requests isn't uncommon if the project adopts the Model-View-Controller pattern. The current implementation of the RootViewController class isn't complicated, but that can change as the project grows and evolves. It can eventually lead to a fat and overweight view controller. That's something we absolutely want to avoid.
Subscribe to Cocoacasts Plus to watch this episode.
Building a Weather Application From Scratch
Creating a View Model
by Bart Jacobs in Swift
Swift 4
Xcode 9
iOS 11
Building a Weather Application From Scratch
- 
      
      03:30 
- 
      
      07:15 
- 
      
      12:08 
- 
      
      05:59 
- 
      
      07:54 
- 
      6 Creating a View Model 13:09 
- 
      
      13:56 
- 
      12 Organizing Fonts and Colors 06:45 
- 
      13 Implementing the Day View Model 15:55 
- 
      15 Implementing the Week View Model 12:37 
- 
      20 Efficiently Refreshing Weather Data 08:48 
- 
      
      09:40 
- 
      22 Unit Testing With Mock Objects 10:49 
- 
      23 Unit Testing Asynchronous Code 06:40 
- 
      
      08:28 
- 
      25 Exposing Gaps in the Test Suite 04:00