在我的项目中有左和右右侧幻灯片菜单,如果我点击左侧菜单的单元格,则UIViewController
方法会调用一个UIViewControllers viewDidLoad
。
我正在调用基于SOAP的Web服务。
所以我的问题是当我点击UITableViewCell
时。视图没有完全加载到屏幕,它被卡在那里。并且视图是完全加载的,当数据来自Web服务时,我可以完全显示。
所以我必须等待数据,而不是整个UIView
。
那么如何在第一次点按时加载UIViewController
并在UIView
出现后,我会放置活动指示符,这就是用户至少可以看到UIView
中正在加载数据的原因
先谢谢,任何人都可以帮我解决这个问题。
修改:我试图将网络服务方法调用到viewWillAppear
答案 0 :(得分:1)
- (void)performBackgroundTask
{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
//Do background work (call your Web service method here)
dispatch_async(dispatch_get_main_queue(), ^{
//Update UI
});
});
}
在后台工作中调用Webservice并使用主队列加载Tableview
答案 1 :(得分:0)
- (void)viewDidLoad {
[super viewDidLoad];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
//Call ur web service in view did load or appear and add data in datsource of tableview
dispatch_async(dispatch_get_main_queue(), ^{
//table view reload data
});
});
}