0

我的应用程序使用自定义导航控制器。

当我将 UIVIewController 推到导航堆栈上时,我必须通过网络加载数据。

我用 :

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) {

});

加载我的数据,以便应用程序仍然响应,因此用户可以按下使用的后退按钮:

[self.navigationController popViewControllerAnimated:YES] 

加载数据后,我经常刷新UIElementUITableView、UILabel 之类的...当我们按下pushBack按钮时,控制器不再是当前控制器,因此当刷新元素时,一切都崩溃了。

所以我有两个问题:

  • 我如何知道设置刷新的控制器是否是当前控制器?
  • 我想我错过了一些东西,Apple 不知道它会发生并且他们可能为此设置了一些东西吗?

谢谢你的帮助,对不起我的英语。

4

1 回答 1

0

在加载数据时显示活动指示器。在数据加载之前,不允许用户弹出当前视图控制器。这可以通过在当前顶部添加一个透明视图并在加载完成后立即删除透明视图来实现。使用 MBProgressHUD 可以轻松实现此功能。

这是链接:https ://github.com/jdg/MBProgressHUD

于 2013-05-01T13:40:19.340 回答