Skip to content

iOS Intermediate ​

Hub › iOS › Intermediate

What you'll build ​

You extend the beginner one-screen SwiftUI list from a hard-coded array into an MVVM app: an ObservableObject view model publishes loading/loaded/error state, data loads asynchronously from a public API with URLSession and async/await, the view renders each state, and tapping a row pushes a detail screen with NavigationStack.

The ladder ​

  1. 01 Why MVVM
  2. 02 The view model
  3. 03 Async load with URLSession
  4. 04 Bind the view
  5. 05 Loading and error states
  6. 06 NavigationStack detail