当我在单击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
}
答案 0 :(得分:3)
API调用是否在主线程上运行? 您应该在后台线程上进行网络调用,以阻止UI线程。
答案 1 :(得分:1)
如果“productDetilAPI”是一个Web请求函数,它将停止UI,如上面的答案所述,所以你应该做的是
[self performSelectorInBackground:@selector(productDetailAPI)
withObject:nil];
希望这个帮助