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