0

viewController我已经看到应用程序会在单击表项后立即推送到新视图,然后activityIndicator在加载新视图时显示一段时间。我知道如何将 activityIndi​​cator 添加到ProfileViewController,但是如何在单击项目后立即将表格推送到新控制器而不是等待内容加载?

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath 
*)indexPath
{
  ProfileViewController *profileViewController = [[ProfileViewController alloc] initWithNibName:@"ProfileViewController" bundle:nil];

  //profileViewController.title = [[news objectAtIndex:indexPath.row] objectForKey:@"name"];
  profileViewController.newsArticle = [news objectAtIndex:indexPath.row];
  [self.navigationController pushViewController:profileViewController animated:YES];
}

任何帮助或指导都会很棒。谢谢你们!

4

1 回答 1

0

在 viewDidAppear 之前,您不要对新的视图控制器进行操作。然后你触发一些异步且不阻塞主线程的东西:

  1. viewDidLoad:设置活动指示器
  2. viewWillAppear:开始活跃度指标
  3. viewDidAppear:启动异步进程
  4. 委托方法/通知/块:当流程完成时使用数据更新 UI
于 2012-12-21T07:02:36.730 回答