我遇到了一个奇怪的问题,我的func myCountUpdate(mainDict: [String : NSObject]) {
guard let myDict = mainDict["start"] as? [String : CFString],
let myCount = myDict["count"] as? String,
let myTotal = Int(myCount) else {
text = nil
return
}
print(myTotal)
let label: String = "\(count)"
text = label
}
在检索 JSON 数据后过早重新加载。奇怪的是,有时它会在获取所有必需的数据以填充tableView
之后重新加载,有时它会在重新加载之前重新加载,然后才能获取数据。虽然我确实注意到数据有时会返回为零,但我并不完全确定它为什么会这样做。这是我用来检索数据的内容:
tableView
答案 0 :(得分:1)
正在异步检索数据,因此您的表视图有时可以在没有所有数据的情况下重新加载。您可以做的是在异步数据检索结束时重新加载表视图,或者您可以使用
单独重新加载单元格而不是整个表格let indexPath = IndexPath(item: rowNumber, section: 0)
tableView.reloadRows(at: [indexPath], with: .top)
答案 1 :(得分:0)
尝试 -
var genreDataArray: [GenreData] = []
var posterStringArray: [String] = []
var posterImageArray: [UIImage] = []
override func viewDidLoad() {
super.viewDidLoad()
genredataArray.removeAll()
posterStringArray.removeAll()
posterImageArray.removeAll()
NOW HERE CALL YOUR CLASS FUNCTION AS ABOVE
}
答案 2 :(得分:0)
我想在那种情况下,你应该使用
dispatch_async(dispatch_get_main_queue(),{
for data in json as! [Dictionary<String,AnyObject>]
{
//take data from json. . .
}
//reload your table -> tableView.reloadData()
})
你应该得到线程的主队列。