Изменение переменной в функции URLSession SWIFT?

В Swift можно изменять значения переменных в функции URLSession с помощью замыканий, которые передаются в методы URLSession. Когда вы создаете метод URLSession, вы можете передать замыкание в качестве параметра, в котором вы можете изменить значение переменной. Вот пример:

var responseString: String = ""

func makeRequest() {
    let url = URL(string: "https://www.example.com")!
    let task = URLSession.shared.dataTask(with: url) { (data, response, error) in
        guard let data = data else {
            print("Ошибка получения данных: (error?.localizedDescription ?? "Unknown error")")
            return
        }
        
        // Декодируем полученные данные
        if let decodedString = String(data: data, encoding: .utf8) {
            self.responseString = decodedString // Изменяем значение переменной
        } else {
            print("Ошибка декодирования данных")
        }
    }
    
    task.resume()
}

В приведенном выше примере мы создаем метод makeRequest, который выполняет асинхронный запрос с использованием объекта URLSession. В замыкании, переданном в dataTask(with:completionHandler:), мы проверяем, что получили данные, а затем декодируем их в строку. Затем мы изменяем значение переменной responseString с помощью self.responseString = decodedString.

После выполнения запроса, значение переменной может быть использовано в другом месте вашей программы. Не забудьте, что запрос является асинхронным, поэтому значение переменной будет доступно только после завершения запроса.