Building a Modern Networking Layer in Swift
Hiding Implementation Details with Type Erasure
1 | Exploring the API 06:30 |
---|---|
2 | Fetching a List of Episodes 08:01 |
3 | Handling Errors 09:24 |
4 | Creating an API Client 09:27 |
5 | Making the API Client Extensible 08:04 |
6 | Authenticating the User 10:07 |
7 | Better Error Handling 08:16 |
8 | Working with Protected Resources 10:07 |
9 | Injecting the Access Token 09:55 |
10 | Hiding Implementation Details with Type Erasure 07:52 |
11 | Fetching Video Progress 09:49 |
12 | Creating and Updating Video Progress 06:40 |
13 | Deleting Video Progress 07:57 |
14 | Unit Testing the Networking Layer 10:32 |
15 | Unit Testing Asynchronous Code 07:45 |
16 | Stubbing the Cocoacasts API 08:42 |
17 | Writing Readable and Maintainable Unit Tests 09:29 |
18 | Enabling Code Coverage to Find Gaps 07:10 |
19 | Writing Unit Tests for Private Methods 08:33 |
20 | Writing the Wrong Unit Tests 11:55 |
21 | Writing Unit Tests for Edge Cases 08:25 |
22 | Catching Bugs with Unit Tests 11:05 |
23 | A Few More Unit Tests 11:04 |
Sponsor
Sponsors enable me to publish more free content. Take a moment to visit this week's sponsor to support the work I do.
Dream it. Build it. Grow it.
Get reliable and affordable cloud hosting with DigitalOcean! Our platform provides secure cloud infrastructure for developers. With simple pricing and flexible configurations, you can get up and running quickly. Plus, our 24/7 support ensures you're never alone.
The video view model is no longer required to pass an access token to the API client if it requests the video of an episode. That is a welcome improvement. The API client passes an access token to an APIEndpoint
object and it is the APIEndpoint
object that decides when it is appropriate to add an Authorization
header to a request. The changes we made in the previous episode improved the networking layer we are building.
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