Назад к вопросам
Junior — Middle
73
Каким образом реализовано сетевое взаимодействие в вашем проекте?
Компании, где спрашивали
Waveaccess
Ответ от нейросети
sobes.tech AI
В моём iOS-проекте сетевое взаимодействие реализовано с использованием URLSession, который предоставляет API для выполнения HTTP-запросов.
Для удобства и повторного использования я создал сетевой слой с абстракцией, который обрабатывает создание запросов, обработку ответов и ошибки. Также используется Codable для парсинга JSON.
Пример простого запроса:
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()
}
Для более сложных задач использовались сторонние библиотеки, например Alamofire, для удобного построения запросов и обработки ответов.