You can watch this episode by subscribing to Cocoacasts Plus.

Building a Modern Networking Layer in Swift

Creating an API Client

Even though there is nothing inherently wrong with a view model performing network requests, it isn't an approach I recommend. Moving the networking logic out of the view model has a number of benefits. It reduces code duplication, facilitates unit testing, and improves the maintainability of the project to name a few.

Instant and Unlimited Access
to 500+ Cocoacasts Tutorials


$19 / month

Pay Once a Month
30 Day Money Back Guarantee


$8.25 / month (billed annually)

Pay Once a Year and Save $129
30 Day Money Back Guarantee