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.