Tôi rất mới với Swift.Chuyển đổi dữ liệu thành chuỗi trong Swift 3
Tôi muốn tạo một cái gì đó như API trên Swift cho ứng dụng giáo dục của mình.
tôi có mã này:
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
}
Và tôi cố gắng để chuyển đổi dữ liệu để String trong dòng này: returnData = String(data: dataVar, encoding: .utf8)
Swift trình biên dịch mang lại cho tôi một lỗi, và thay đổi dòng này để returnData = String(data: dataVar, encoding: .utf8)!
, khi Tôi thực hiện dòng này tôi nhận được biến returnData trống.
Nếu tôi sử dụng dòng ví dụ cơ bản print(String(data: data, encoding: .utf8))
mọi thứ sẽ ổn và tôi có thể thấy data
trong bảng điều khiển XCode.
Vì vậy, làm cách nào tôi có thể chuyển đổi Dữ liệu thành chuỗi?
Vấn đề chính là bạn không thể trả lại nội dung nào đó từ chức năng không đồng bộ. Bạn cần một trình xử lý hoàn thành. – vadian
@vadian Xin vui lòng, bạn có thể chuyển đổi mã của tôi để xử lý hoàn thành mã? Tôi đọc rất nhiều về họ và tôi không hiểu những gì tôi cần để tách biệt trong mã của tôi. – IlyaGutnikov
Tôi đã viết một câu trả lời. – vadian