【发布时间】:2017-12-07 18:06:07
【问题描述】:
我提出一个请求,获取数据,将它们分成 10 个数组,大约需要 2 秒。但是将它们分类为UICollectionView 需要将近 10 秒才能显示数据。这是我的代码:
func makeRequest() {
let url = URL(string: "https://api.example.com/v1/ticker/?start=" + "\(startingPoint)")
let task = URLSession.shared.dataTask(with: url!) { (data, response, error) in
if error != nil {
print(error!)
} else {
if let urlContent = data {
do {
let jsonResult = try JSONSerialization.jsonObject(with: urlContent, options: JSONSerialization.ReadingOptions.mutableContainers) as! [AnyObject]
var i: Int!
for i in 0..<jsonResult.count {
Global.rankArray.append(String(describing: jsonResult[i]["rank"]!!))
// 9 other similar lines
}
// Loading some views
self.dataCollection.reloadData()
} catch {
print("Error")
}
}
}
}
task.resume()
}
所以我可以快速打印所有内容,但在 10 秒过去之前,UICollectionView 中没有显示任何数据。加载时间不依赖于互联网连接速度。
【问题讨论】:
标签: arrays json swift uicollectionview