Sobes.tech
Junior — Middle

Como é implementada a interação de rede no seu projeto?

sobes.tech IA

Resposta da IA

No meu projeto iOS, a interação de rede é implementada usando URLSession, que fornece uma API para realizar pedidos HTTP.

Para conveniência e reutilização, criei uma camada de rede com abstração que lida com a criação de pedidos, processamento de respostas e erros. Codable também é usado para analisar JSON.

Exemplo de uma solicitação simples:

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()
}

Para tarefas mais complexas, bibliotecas de terceiros como Alamofire são usadas para facilitar a construção de pedidos e o processamento de respostas.