gpt4 book ai didi

ios - 表在滚动之前不会重新加载数据

转载 作者:可可西里 更新时间:2023-11-01 00:23:34 25 4
gpt4 key购买 nike

我正在调用 webservice call 。他们在表中加载数据,直到我滚动。我想在响应到来时重新加载数据。我是 Swift 2 的新手 请帮助任何帮助。

这是我的代码:

  let url : String = String(format: "http://api.nytimes.com/svc/news/v3/content/nyt/all/720.json?api-key=%@",apiKey)

t url1: NSURL = NSURL(string: url)!

let session = NSURLSession.sharedSession()

let task1 = session.dataTaskWithURL(url1, completionHandler: {
(data, response, error) -> Void in

do {
let jsonData = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers) as! NSDictionary

self.dict = jsonData;

self.array1 = (self.dict.objectForKey("results") as? NSMutableArray)!
print(self.array1)
self.table.reloadData()

} catch {
}
})
task1.resume()


extension ViewController1: UITableViewDelegate, UITableViewDataSource {

} func tableView(tView: UITableView, numberOfRowsInSection section: Int) -> Int {

return self.array1.count
}

func tableView(tView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let identifier = "CustumCell"
var cell: CustumCell! = tView.dequeueReusableCellWithIdentifier(identifier) as? CustumCell
if cell == nil {
var nib:Array = NSBundle.mainBundle().loadNibNamed("CustumCell", owner: self, options: nil)
cell = nib[0] as? CustumCell
}

cell.label.text = self.array1.objectAtIndex(indexPath.row).objectForKey("abstract") as? String

return cell
}

}

最佳答案

您正在从完成处理程序运行 table.reloadData()。很可能代码没有在主线程上执行。所有 UI 的东西都需要在主线程上完成。尝试强制 reloadData 在主线程上运行:

dispatch_async(dispatch_get_main_queue()) {
self.table.reloadData()
}

关于ios - 表在滚动之前不会重新加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32941313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com