Sobes.tech
Junior — Middle

Hoe is de netwerkinteractie in uw project geïmplementeerd?

sobes.tech AI

Antwoord van AI

In mijn iOS-project wordt netwerkcommunicatie geïmplementeerd met behulp van URLSession, dat een API biedt voor het uitvoeren van HTTP-verzoeken.

Voor gemak en hergebruik heb ik een netwerklaag met abstractie gemaakt die het maken van verzoeken, het verwerken van antwoorden en fouten afhandelt. Codable wordt ook gebruikt voor het parseren van JSON.

Voorbeeld van een eenvoudige aanvraag:

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()
}

Voor complexere taken worden externe bibliotheken zoals Alamofire gebruikt om het maken van verzoeken en het verwerken van antwoorden te vergemakkelijken.