Explore Library
iOS Developer EssentialsNetworking & REST APIs (URLSession)

48 items

1

Certificate Pinning Fallback Flaw

Code Quiz
2

HTTP/2, Pinning & Radio Cost

Quiz
3

Retry Loop Ignores Cancellation

Code Quiz
4

Resilient Retry & Idempotency Design

Quiz
5

Retrying Authenticated Requests

Code Quiz
6

Retrying Requests on Flaky Networks

Quiz
7

Fetching JSON With URLSession dataTask

Code Quiz
8

Fetching REST Data with URLSession

Quiz
9

Mobile Transport & Security Deep Dive

Slides / Video
10

Resilient Networking Design

Slides / Video
11

REST Fetching with URLSession

Slides / Video
12

Mobile Transport & Security Tradeoffs

Flashcard
13

Resilient Networking Design with URLSession

Flashcard
14

REST Data Fetching in iOS

Flashcard
15

Loading, Error, and Empty States

Code Quiz
16

Handling UI States for Network Calls

Quiz
17

Async REST Call with URLSession

Code Quiz
18

Async REST Calls with URLSession

Quiz
19

Loading, Error & Empty States

Slides / Video
20

REST Calls with Async/Await

Slides / Video
21

Loading, Error & Empty States

Flashcard
22

REST Calls with async/await

Flashcard
23

Retry Loop Swallows Cancellation

Code Quiz
24

Resilient HTTP Retries and Backoff

Quiz
25

Network Reliability: Retries, Timeouts & Connectivity

Slides / Video
26

Network Reliability Basics

Flashcard
27

Resilient HTTP on Flaky Networks

Slides / Video
28

Resilient HTTP on Flaky Networks

Flashcard
29

Auth Header and Flaky Connection Config

Code Quiz
30

Auth Tokens & Timeouts in URLSession

Quiz
31

URLSession Fetch With Loading State

Code Quiz
32

Handling Loading and Error States in URLSession

Quiz
33

Auth Tokens & Resilient Networking

Slides / Video
34

URLSession Requests & Loading States

Slides / Video
35

Auth Tokens & Resilient Requests

Flashcard
36

URLSession Requests & Loading/Error States

Flashcard
37

Handling URLSession Errors Safely

Code Quiz
38

Detecting Network Failures

Quiz
39

Fetching JSON with URLSession

Code Quiz
40

Checking HTTP Status Codes

Quiz
41

Loading, Errors & Flaky Networks

Slides / Video
42

REST APIs with URLSession Basics

Slides / Video
43

Handling Loading, Errors & Flaky Networks

Flashcard
44

REST Requests with URLSession

Flashcard
45

URLSession Errors & Retry Resilience

Slides / Video
46

REST Calls with URLSession & Async

Slides / Video
47

Handling Network Errors & Retries

Flashcard
48

REST Calls & Async Responses in URLSession

Flashcard
Code Quiz

Fetching JSON With URLSession dataTask

Spot the subtle mistake that stops this URLSession REST fetch from ever running.

Codeswift
struct User: Decodable { let id: Int; let name: String }

func fetchUser(completion: @escaping (User?) -> Void) {
    let url = URL(string: "https://api.example.com/user/1")!
    let task = URLSession.shared.dataTask(with: url) { data, response, error in
        guard let data = data, error == nil else {
            completion(nil)
            return
        }
        let user = try? JSONDecoder().decode(User.self, from: data)
        completion(user)
    }
}

What is the bug in this code?