Я пытаюсь отобразить некоторые данные, которые беру из базы данных в TableView
, но данные не отображаются в TableView
. Полученные данные форматируются в JSON.Показать данные JSON в TableView с Swift
Это данные я получаю от базы данных и то, что я хочу, чтобы напечатать в TableView
только Давид:
{"name":"David"}
Это код, чтобы получить данные из базы де данных:
let session = NSURLSession.sharedSession()
let request = NSURLRequest(URL: NSURL(string: "http://localhost:8888/Patients.php")!)
let task = session.dataTaskWithRequest(request) {data, response, downloadError in
if let error = downloadError {
print("Could not complete the request \(error)")
}
else {
do {
self.json = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.AllowFragments)
} catch {
fatalError()
}
dispatch_async(dispatch_get_main_queue(), {
if let parseJSON = self.json{
let name = parseJSON["name"] as! String
self.arrayData.append(name)
print("Data1:\(self.arrayData)")
}
})
}
}
task.resume()
ArrayData является array
где я положил данные я получаю от базы данных, и он объявлен как это:
var arrayData: [String] = []
Код
print("Data1:\(self.arrayData)")
шоу в консоли это Data1:["David"]
, так что я получаю данные правильно.
Тогда я реализую методы для печати в'TableView', метод numberOfSectionsInTableView
, метод numberOfRowsInSection
и метод cellForRowAtIndexPath
но данные не выводятся на печать в TableView
.
Я думаю, что проблема заключается в том, что нарисован TableView
, прежде чем я поместил данные в array
, чтобы он ничего не печатал, потому что массив пуст, и я не знаю, как его исправить.
Кто-нибудь знает, в чем моя проблема?
Вы пытались вызвать 'tableView.reloadData()' после изменения содержимого массива? –
Это решило мою проблему! Спасибо, Себастьян! – David