在推送到另一个viewController时加载

时间:2015-07-30 10:33:00

标签: ios objective-c load pushviewcontroller

当我在单击collectionview单元格后推送到我的详细视图控制器时,需要时间来加载detailview Controller。 的 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

}

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

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

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

希望这个帮助