gpt4 book ai didi

iOS tableView 在单击、滚动或切换标签栏项目之前不会重新加载

转载 作者:行者123 更新时间:2023-11-28 23:19:27 26 4
gpt4 key购买 nike

我有这个问题,在执行 API 调用后(在几个地方), View 不会刷新,直到用户操作 - 如 btn 单击、标签栏切换等发生。我觉得它与线程有关,但我似乎无法弄清楚,而且我是 iOS 编程的新手。我已经尝试过使用 DispatchQueue 等不同的解决方案,使用它,而不使用它。尝试在 Controller View 上调用 setNeedsDisplay。但还没有运气。以下是从我的一个标签栏项目 View Controller 中直接提取的代码示例:

 func getEmployeeUpdates(){

self.showLoader()

APIAdaptor.shared.getEmployeeUpdates(forEmployee: Session.shared.employee, completion: {


(updates:[ScheduleUpdate]?, error:Error?) in



guard error == nil else{

DispatchQueue.main.async {

// self.resetMainScreen()

self.hideLoader();

}
return
}

DispatchQueue.main.async {
self.hideLoader();
self.ScheduleUpdates = updates!
self.tableView.reloadData();

}

})

}

func showLoader(){

NSLayoutConstraint.activate([

activityIndicator!.centerXAnchor.constraint(equalTo: self.tableView.centerXAnchor),

activityIndicator!.centerYAnchor.constraint(equalTo: self.tableView.centerYAnchor)])

activityIndicator?.startAnimating();

}



func hideLoader(){

print("Hiding");

activityIndicator?.stopAnimating()

}


我附上了两张图片。第一张图片是 api 调用已完成(通过测试确认)但 View 未刷新的地方。装载机被卡住。它应该在调用 hideLoader() 后消失。第二个图像是在单击或标签栏项目切换之后。

我还应该提到,在这个例子中,以及在其他 api 调用中, View 最终会在完成后刷新,但只会在显着延迟之后。

如果有人能提供帮助,我将不胜感激!

loaded, but not refreshing view loaded, after click, refreshed

最佳答案

这是 Xcode 10.1 上的模拟器导致的问题。如果遇到此问题,请尝试更新 Xcode,或使用真实设备。

关于iOS tableView 在单击、滚动或切换标签栏项目之前不会重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59870407/

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