【问题标题】:Load while push to another viewController在推送到另一个视图控制器时加载
【发布时间】:2015-10-21 16:06:39
【问题描述】:

当我在单击 collectionview 单元后推送到我的详细视图控制器时,加载详细视图控制器需要一些时间。 MainViewController.m

-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{

    DetailViewController *objDetailViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"DetailViewController"];
    objDetailViewController.objProduct = [arrList objectAtIndex:indexPath.row];
    [self.navigationController pushViewController:objDetailViewController animated:YES];
}

DetailViewConteroller.m

- (void)viewDidLoad {

    [super viewDidLoad];
    [self setInitialValues];
    [self productDetailAPI];//WS CALL

}

【问题讨论】:

  • DetailViewConteroller.m中调用viewDidLoad的操作或函数放入nsoperation或@selector

标签: ios objective-c load pushviewcontroller


【解决方案1】:

API 调用是否在主线程上运行? 您应该在后台线程上进行网络调用,以免阻塞 UI 线程。

【讨论】:

    【解决方案2】:

    如果“productDetilAPI”是一个Web请求函数,它会停止UI,如上面的答案中提到的,所以你应该做的是

    [self performSelectorInBackground:@selector(productDetailAPI)
                               withObject:nil];
    

    希望对你有所帮助

    【讨论】:

      猜你喜欢
      • 2020-09-25
      • 2015-06-26
      • 1970-01-01
      • 2014-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多