gpt4 book ai didi

ios - 从外部 URL 加载方法后继续加载 View

转载 作者:行者123 更新时间:2023-11-29 03:00:46 25 4
gpt4 key购买 nike

我有一个方法可以从外部 url 检索数据,将其从 JSON 格式加载到数组中,然后填充 UITableView。它工作正常,但没有任何迹象表明用户在下载数据时发生了某些事情。

- (void)viewDidLoad
{
[super viewDidLoad];
[self retrieveDataC];

}

这是我为 viewDidLoad 尝试的代码,它在下载时添加了旋转动画。我正在尝试将 retrieveDataC 放在后台线程上,当它完成时,我希望 View 继续执行,就像我没有在上面的示例中实现多线程一样。

- (void)viewDidLoad
{
[super viewDidLoad];

UIActivityIndicatorView *spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
spinner.center = CGPointMake(160, 240);
[self.view addSubview:spinner];
[spinner startAnimating];

dispatch_async(dispatch_get_global_queue(0, 0), ^{
[self retrieveDataC];
dispatch_async(dispatch_get_main_queue(), ^{
[spinner stopAnimating];
});
});

}

加载微调器会在短时间内正确显示,但是在该过程完成后,我会留下一个空白表格,就好像我没有调用 [selfretrieveDataC] 一样。有什么建议、建议吗?我是否正确设置了后台进程?

谢谢

编辑:

这是最终起作用的 -

- (void)viewDidLoad
{
[super viewDidLoad];

UIActivityIndicatorView *spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
spinner.center = CGPointMake(160, 240);
[self.view addSubview:spinner];
[spinner startAnimating];

dispatch_async(dispatch_get_global_queue(0, 0), ^{
[self retrieveDataC];
dispatch_async(dispatch_get_main_queue(), ^{
[spinner stopAnimating];
[self.collectionView reloadData];
});
});

}

最佳答案

收到数据后是否调用[self.tableView reloadData]

关于ios - 从外部 URL 加载方法后继续加载 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23325805/

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