Junior — Middle
Cum este implementată interacțiunea în rețea în proiectul dumneavoastră?
sobes.tech AI
Răspuns de la AI
În proiectul meu iOS, interacțiunea de rețea este implementată folosind URLSession, care oferă o API pentru efectuarea solicitărilor HTTP.
Pentru confort și reutilizare, am creat un strat de rețea cu o abstracție care gestionează crearea solicitărilor, procesarea răspunsurilor și erorilor. Codable este, de asemenea, utilizat pentru analizarea JSON.
Exemplu de o solicitare simplă:
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()
}
Pentru sarcini mai complexe, se utilizează biblioteci terțe, cum ar fi Alamofire, pentru a facilita construirea solicitărilor și procesarea răspunsurilor.