我有一个视图控制器,需要显示从服务器提取的数据。
通常我通过服务器api适配器singleton从这个视图控制器中加载我需要的数据。
但是最近我一直在想也许最好从VC外部加载数据,然后在新数据可用时告诉VC。这样VC就不依赖于服务器获取代码。
或换句话说:
现在
替代
根据您的经验,这是更好的方法,为什么?还有其他方法吗?
答案 0 :(得分:0)
我更喜欢先呈现viewController,然后获取数据,最后在viewController上显示数据。在获取数据时,您可以在VC上设置加载状态HUD,用户始终知道您的应用正在运行。
第二种方式存在一个问题,首先获取数据然后呈现VC,如果获取数据失败,用户的触摸/点击操作将无效,用户可能会认为您的应用无效。这是一种糟糕的用户体验。
答案 1 :(得分:0)
我的基本流程,效果非常好。
- (void)viewDidLoad
{
//some code
[self loadAPIData]
}
-(void)viewWillDisappear:(BOOL)animated
{
if ([self.navigationController.viewControllers indexOfObject:self]==NSNotFound) {
//cancel api operation
}
}
-(void) loadAPIData
{
//Call Api and show UIActivityIndicatorView
}