Я изменяю код из проекта 'Взлом с помощью swift', чтобы взять файл JSON с помощью API и поместить его в табличное представление
Я немного растерялся, что делать дальшепопытался переместить вызов функции разбора и использовать закомментированный код
override func viewDidLoad() {
super.viewDidLoad()
let username = "UserName"
let password = "Password"
let loginData = String(format: "%@:%@", username,
password).data(using: String.Encoding.utf8)!
let base64LoginData = loginData.base64EncodedString()
let url = URL(string: "......")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.setValue("Basic \(base64LoginData)", forHTTPHeaderField:
"Authorization")
let task = URLSession.shared.dataTask(with: request) { data,
response,
error in
guard let data = data, error == nil else {
print("error")
return
}
if let httpStatus = response as? HTTPURLResponse {
parse(json: data)
print("status code = \(httpStatus.statusCode)")
}
}
task.resume()
}
// if let url = URL(string: urlstring){
// if let data = try? Data(contentsOf: url){
// parse(json: data)
// return
// }
// }
// showError()
//}
func parse(json: Data) {
let decoder = JSONDecoder()
if let jsonPetitions = try? decoder.decode(Petitions.self, from:
json) {
petitions = jsonPetitions.results
tableView.reloadData()
}
}
Я получил код состояния '200', поэтому я знаю, что вызов API работает нормально.
Кажется, проблема заключается в вызове функции синтаксического анализа. Я получаю следующую ошибку: «При вызове метода parse» при закрытии требуется явное «self».сделать семантику захвата явной "