Sobes.tech
Junior — Middle

Come è implementata l'interazione di rete nel vostro progetto?

sobes.tech AI

Risposta dell'AI

Nel mio progetto iOS, l'interazione di rete è implementata utilizzando URLSession, che fornisce un'API per eseguire richieste HTTP.

Per comodità e riutilizzo, ho creato uno strato di rete con astrazione che gestisce la creazione delle richieste, l'elaborazione delle risposte e degli errori. Viene inoltre utilizzato Codable per il parsing JSON.

Esempio di una richiesta semplice:

func fetchUsers(completion: @escaping ([User]?, Error?) -> Void) {
    let url = URL(string: "https://api.example.com/users")!
    URLSession.shared.dataTask(with: url) { data, response, error in
        guard let data = data, error == nil else {
            completion(nil, error)
            return
        }
        do {
            let users = try JSONDecoder().decode([User].self, from: data)
            completion(users, nil)
        } catch {
            completion(nil, error)
        }
    }.resume()
}

Per compiti più complessi, vengono utilizzate librerie di terze parti come Alamofire per facilitare la creazione delle richieste e l'elaborazione delle risposte.