Я очень новичок в Swift.
Я хочу создать что-то вроде API в Swift для моего образовательного приложения.
У меня есть этот код:
static func getFilm(filmID: Int) -> String {
print("getFilm")
let url = URL(string: "https://api.kinopoisk.cf/getFilm?filmID=\(filmID)")!
var request = URLRequest(url: url)
var returnData: String = ""
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if var responseVar = response, var dataVar = data {
print(responseVar)
returnData = String(data: dataVar, encoding: .utf8)
} else {
print(error)
}
}
task.resume()
return returnData
}
И я пытаюсь преобразовать данные в строку в этой строке: returnData = String(data: dataVar, encoding: .utf8)
Компилятор Swift дает мне ошибку и меняет эту строку на
returnData = String(data: dataVar, encoding: .utf8)!
, когда я выполняю эту строку, я получаю пустую переменную returnData.
Если я использую базовую строку примера
print(String(data: data, encoding: .utf8))
все будет ОК, и я вижу data
в консоли XCode.
Итак, как я могу преобразовать данные в строку?