Junior — Middle
Kuidas on teie projektis võrgusüsteemiline koostöö rakendatud?
sobes.tech AI
Vastus AI-lt
Selles iOS projektis on võrgusuhtlus rakendatud URLSessioni abil, mis pakub API HTTP-päringute tegemiseks.
Mugavuse ja korduvkasutatavuse huvides lõin maatrakihi abstraktsiooniga, mis haldab päringute loomist, vastuste ja vigade töötlemist. JSON-i analüüsimiseks kasutatakse ka Codable.
Lihtsa päringu näide:
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()
}
Raskemad ülesanded kasutavad kolmanda osapoole teeke, näiteks Alamofire, mis lihtsustavad päringute koostamist ja vastuste töötlemist.