Я использую метод post для отображения данных в табличном представлении. Я получил свой ответ JSON. Но я не могу показать данные моего массива в табличном представлении, только видимое значение nil и область отладки также показывают это значение = ["fav": <__ NSArrayM 0x600000352370> ()] Как получить данные моего массива? В чем ошибка в моем коде?
func getjsonData() {
let parameters = ["userid": 1, "start": "0"] as [String : Any]
//create the url with URL
let url = URL(string: "https://test.php")! //change the url
//create the session object
let session = URLSession.shared
//now create the URLRequest object using the url object
var request = URLRequest(url: url)
request.httpMethod = "POST" //set http method as POST
do {
request.httpBody = try JSONSerialization.data(withJSONObject: parameters, options: .prettyPrinted) // pass dictionary to nsdata object and set it as request body
} catch let error {
print(error.localizedDescription)
}
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
//create dataTask using the session object to send data to the server
let task = session.dataTask(with: request as URLRequest, completionHandler: { data, response, error in
guard error == nil else {
return
}
guard let data = data else {
return
}
do {
//create json object from data
if let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? [String: Any] {
print ("data = \(json)")
if let arry = json["pnbu"] as? [[String:Any]] {
for dic in arry {
let buzzyuser_id = dic["buzzyuser_id"]
let buzzyuser_location = dic["buzzyuser_location"]
let buzzyuser_image = dic["buzzyuser_image"]
self.favs.append(JsonResponse(buzzyuser_id: buzzyuser_id as? String, buzzyuser_location: buzzyuser_location as? String, buzzyuser_image: buzzyuser_image as? String))
print(buzzyuser_id!)
DispatchQueue.main.async { // Correct
self.TableSectionView.reloadData() }
}
}
}
} catch let error {
print(error.localizedDescription)
}
})
task.resume()
}
показать список массивов в области отладки, но мои данные не могут ответить в моем виде таблицы. после запуска потока 1 симулятора ошибка в области отладки ... но код метода get будет работать нормально.