Junior — Middle
Hogyan valósult meg a hálózati kommunikáció a projektjében?
sobes.tech MI
Válasz az MI-től
Az iOS projektemben a hálózati kommunikáció URLSession segítségével valósul meg, amely API-t biztosít HTTP kérések végrehajtásához.
Kényelem és újrahasználhatóság érdekében létrehoztam egy hálózati réteget absztrakcióval, amely kezeli a kérések létrehozását, a válaszok és hibák feldolgozását. A JSON elemzéséhez a Codable is használatos.
Egyszerű kérés példája:
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()
}
Komplexebb feladatokhoz harmadik fél által fejlesztett könyvtárakat, például az Alamofire-t használják a kérések könnyebb összeállításához és a válaszok feldolgozásához.