[objective-c]加载 viewcontroller 但不存在直到第二次点击表

发布时间: 2016/10/2 4:33:10
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

当我点击我的表获取执行此代码︰

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
        ViewController *vc =[storyboard instantiateViewControllerWithIdentifier:@"ViewController"];
        vc.currentCategory = indexPath.row ;
        [self presentViewController: vc animated:YES completion:nil];
}

一切似乎都加载,它打破了在断点上新 viewcontroller。但它不会提出。如果我点击第二次它不执行代码,但它提出了 viewcontroller。如果我去动画︰ 不,一切工作第一个tap上,但不是与动画︰ 是的。任何的想法可能是错了?

解决方法 1:

我刚刚完全相同的问题,它原来是一个线程的问题。你需要调用你 presentViewController 在以下︰

 dispatch_async(dispatch_get_main_queue(), {
        self.presentViewController(controller, animated: true, completion: nil)
    })

请记住,我的答案利用 Swift,它应该是一个简单的转换回 objective-c 不过,但我很确定你运行到一个线程的问题,像我。希望这有助于人。

赞助商