Junior — Middle
Layihənizdə şəbəkə qarşılıqlı əlaqəsi necə həyata keçirilir?
sobes.tech Süni İntellekt
AI-dan cavab
Mənim iOS layihəmdə şəbəkə qarşılıqlı əlaqə URLSession istifadə edilərək həyata keçirilir, bu da HTTP sorğularını yerinə yetirmək üçün API təmin edir.
Rahət və təkrar istifadə üçün, sorğuların yaradılmasını, cavabların və səhvlərin işlənməsini idarə edən abstraksiya ilə şəbəkə qatını yaratdım. JSON-un parsinqi üçün Codable də istifadə olunur.
Sadə sorğunun nümunəsi:
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()
}
Daha mürəkkəb tapşırıqlar üçün, sorğuların asanlıqla qurulması və cavabların işlənməsi üçün Alamofire kimi üçüncü tərəf kitabxanalarından istifadə olunur.