Junior — Middle
Projenizde ağ etkileşimi nasıl gerçekleştirildi?
sobes.tech yapay zeka
AI'dan gelen yanıt
iOS projemde ağ etkileşimi, HTTP istekleri yapmak için API sağlayan URLSession kullanılarak gerçekleştirilmiştir.
Kolaylık ve yeniden kullanılabilirlik için, isteklerin oluşturulmasını, yanıtların ve hataların işlenmesini yöneten soyutlamaya sahip bir ağ katmanı oluşturdum. JSON ayrıştırmak için Codable da kullanılır.
Basit bir isteğin örneği:
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 karmaşık görevler için, isteklerin kolayca oluşturulması ve yanıtların işlenmesi için Alamofire gibi üçüncü taraf kütüphaneler kullanılır.