我阅读了有关预取的信息,并添加了委托,数据源和所需的两个函数,现在,我需要在这两个函数中添加什么?这是用来实现60 fps平滑滚动的吗?
很抱歉,如果这个问题含糊不清。
override func viewDidLoad() {
super.viewDidLoad()
tableView.dataSource = self
tableView.prefetchDataSource = self
let userJSONURLString = "https://qapital-ios-testtask.herokuapp.com/users"
let activitiesJSONURLString = "https://qapital-ios-testtask.herokuapp.com/activities?from=2016-05-23T00:00:00+00:00&to=2019-05-23T00:00:00+00:00"
guard let userURL = URL(string: userJSONURLString) else { return }
guard let activitiesURL = URL(string: activitiesJSONURLString) else { return }
URLSession.shared.dataTask(with: activitiesURL) { (data, response, err) in
guard let data = data else { return }
do {
// Activities
let decoder = JSONDecoder()
decoder.dateDecodingStrategy = .iso8601
let result = try decoder.decode(Root.self, from: data)
self.activities = result.activities
URLSession.shared.dataTask(with: userURL) { (data, response, err) in
guard let data = data else { return }
do {
// Users
let usersJson = try JSONSerialization.jsonObject(with: data, options: [])
guard let jsonArray = usersJson as? [[String: Any]] else { return }
for dic in jsonArray {
guard let avatarUrl = dic["avatarUrl"] as? String else { return }
}
} catch {
print("Error serializing json: ", error)
}
}.resume()
} catch {
print("Error serializing json: ", error)
}
DispatchQueue.main.async {
self.tableView.reloadData()
}
}.resume()
}
func tableView(_ tableView: UITableView, prefetchRowsAt indexPaths: [IndexPath]) {
print("prefetching row of \(indexPaths)")
}
func tableView(_ tableView: UITableView, cancelPrefetchingForRowsAt indexPaths: [IndexPath]) {
print("cancel prefetch row of \(indexPaths)")
}
}