Junior — Middle
Comment la communication réseau est-elle mise en œuvre dans votre projet?
sobes.tech IA
Réponse de l'IA
Dans mon projet iOS, l'interaction réseau est implémentée à l'aide de URLSession, qui fournit une API pour effectuer des requêtes HTTP.
Pour plus de commodité et de réutilisation, j'ai créé une couche réseau avec une abstraction qui gère la création de requêtes, le traitement des réponses et des erreurs. Codable est également utilisé pour analyser le JSON.
Exemple d'une requête simple:
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()
}
Pour des tâches plus complexes, des bibliothèques tierces comme Alamofire sont utilisées pour faciliter la construction des requêtes et le traitement des réponses.