首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS为视图控制器获取服务器数据的时间和地点

iOS为视图控制器获取服务器数据的时间和地点
EN

Stack Overflow用户
提问于 2013-04-03 02:03:58
回答 2查看 465关注 0票数 1

我有一个视图控制器,它需要显示从服务器中提取的数据。

通常,我通过服务器api适配器单例从视图控制器中加载所需的数据。

但最近我一直在想,也许最好是从VC外部加载数据,然后告诉VC何时有新的数据可用。这样,VC就不依赖于服务器获取代码。

换言之:

现在就来

  1. 介绍VC
  2. 在VC的viewDidLoad中,调用服务器api单例并获取数据

替代方案

  1. 调用服务器api单例并获取数据
  2. 介绍VC
  3. 当服务器数据准备就绪时,告诉VC并传递数据。

根据你的经验,哪一种方法更好,为什么?还有其他方法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-03 02:22:58

我的基本流程,效果很好。

代码语言:javascript
复制
- (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
}
票数 0
EN

Stack Overflow用户

发布于 2013-04-03 02:11:05

我更喜欢先呈现viewController,然后获取数据,最后在viewController上显示数据。在获取数据时,您可以在VC上设置一个加载状态HUD,用户总是知道您的应用程序正在工作。

第二种方法有一个问题,先获取数据,然后再显示VC,如果获取数据失败,用户的触摸/点击操作将没有任何影响,用户可能会认为您的应用程序不工作。这是一个糟糕的用户体验。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15777662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档