gpt4 book ai didi

iphone - 在通过 Segue 之前显示事件指示器

转载 作者:行者123 更新时间:2023-11-28 19:16:01 25 4
gpt4 key购买 nike

好的,我的第一个 Controller 是一个 UITabel,当传递一个单元格时,它会推送到第二个 View Controller 。第二个 Controller 从 web 服务加载数据,因此 segue 需要一点时间。我想在选择单元格时显示 SVProgressHUD,然后在加载数据后将其关闭,但 SVProgressHUD 在加载第二个 View 后显示,并且只显示几毫秒。我现在使用它:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[SVProgressHUD show];
UITableViewCell *acell = [tableView cellForRowAtIndexPath:indexPath];
[self performSegueWithIdentifier:@"pushCell" sender:acell];
}

有什么方法可以在选中单元格时立即显示 SVProgressHUD?

最佳答案

Apple 建议当用户单击 tableViewCell 时,应用应立即转至下一个 View Controller 。您觉得需要在下一个 View 加载时显示 SVProgressHUD 这一事实向我表明您正在使用同步方法请求数据,这将阻塞主线程并使您的应用程序在等待响应。

检索数据的最佳做法是始终以异步方式(或在后台线程上)进行检索,以便您的应用始终保持响应。我建议将您的请求更改为异步方法(例如,查看 NSURLRequest 方法 initWithRequest:delegate:)。如果您使用它,则可以在第二个 Controller 的 viewDidLoad 方法中显示 SVProgressHUD,当用户点击表格单元格时,将立即转换到第二个 View Controller ,并且您的应用程序不会在用户等待时被锁定数据下载。

这里是关于此方法的更多信息,来自 Apple Documentation

关于iphone - 在通过 Segue 之前显示事件指示器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12023749/

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