Sobes.tech
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.