cellForRowAt indexPath
这是个坏主意。每当用户滚动表视图时,就会调用该方法。这可能会导致大量网络通话。
-
使
仅在需要时进行网络呼叫
viewWillAppear
。每次应用程序切换到您的tableView时,都会调用此方法
-
百货商店
array
-
reloadData
-
cellForRowAt索引
大堆
class WeatherTableView: UITableView {
var weatherData: [String]
override func viewWillAppear(_ animated: Bool) {
loadWeatherData()
}
private func loadWeatherData() {
// I just set some data here directly. Replace this with your network call
weatherData = ["Here comes the sun", "Rainy with chance of meatballs", "It's raining cats and dogs"]
// Make sure the tableView is redrawn
tableView.reloadData()
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "weatherDataCell")
cell.label.text = weatherData[indexPath.row]
return cell
}
}