Когда я загружаю файл JSON внутри своего UITableViewController
, он загружает и обновляет свой источник данных и просматривает, но только обновляет его, когда касаюсь моего экрана.Swift 2.0 iOS9 Обновление UITableView не отображает
Загрузка и синтаксический анализ кода я использую выглядит следующим образом:
func fetchData() {
let jsonUrl = 'http://myrestserver.com/apicall'
let session = NSURLSession.sharedSession()
let urlObject = NSURL(string: jsonUrl)
let task = session.dataTaskWithURL(urlObject!) {
(data, response, error) -> Void in
do {
let jsonData = try NSJSONSerialization.JSONObjectWithData(data!, options:NSJSONReadingOptions.MutableContainers) as! NSDictionary
var items :[Article] = []
let jsonItems = jsonData["channel"] as! NSArray
for (_, item) in jsonItems.enumerate() {
let article = Article()
article.id = item["id"] as? String
article.title = item["title"] as? String
article.guid = item["guid"] as? String
items.append(article)
}
self.articles.insertContentsOf(items, at: 0)
} catch {
print("error fetchData")
}
}
task.resume()
self.tableView.reloadData()
}
Есть ли способ я не в курсе, чтобы справиться с этой повторной визуализации? Я пытался вынести методы UITableViewCell
, как описано здесь: setNeedsLayout and setNeedsDisplay
Но не повезло, кто-то может объяснить, что это лучшая практика для предоставления новых записей?
С наилучшими пожеланиями, Jos
ты назвать 'reloadData'? Вы назвали это основной темой? – luk2302
Вы обновляете свой интерфейс в основной теме? – Blaszard
Обновите свой вопрос соответствующим кодом. – rmaddy