gpt4 book ai didi

ios - 以编程方式设置 UITableView 数据源使其异步重新加载表

转载 作者:行者123 更新时间:2023-11-29 05:26:43 24 4
gpt4 key购买 nike

我想调用tableView.reloadData()并确保在该表行之后呈现。问题是,当我之前以编程方式设置数据源时,不会发生这种情况。示例:

class ViewController: UIViewController, UITableViewDataSource {
@IBOutlet weak var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
tableView.dataSource = self
tableView.reloadData()
print("after reloadData")
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
print("cellForRowAt")
return UITableViewCell()
}
}

输出是:

  1. print("重新加载数据后")
  2. 打印(“cellForRowAt”)

我希望它首先打印“cellForRowAt”。为什么会发生这种情况?

更新:这很愚蠢,但我认为 reloadData() 是同步的。对我来说,诀窍是:self.tableView.layoutIfNeezded()谢谢你,谢谢 this guy .

最佳答案

函数tableView.reloadData()是异步的,它包含对数据源方法的调用补丁,直到您首先看到打印

关于ios - 以编程方式设置 UITableView 数据源使其异步重新加载表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58097789/

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