主线程被阻止时,避免使用tableview didSelectRowatIndexPath操作

时间:2013-08-17 18:08:21

标签: ios

我有问题。在我的app操作表中,当表的行被点击时,选择器打开。 我的问题是,当主线程被阻止但是在运行循环中添加了触摸事件时,动作表不会打开,因此,每当主线程完成更改时,它都会完成所有触摸操作,因此操作表会根据我们点击的次数打开表格行。但我只希望这一次。

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

主线程永远不应该是“阻止”...通过执行以下操作,尝试运行“阻止”不同线程上的主线程。

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    [self doSomeLongTask]; // 1
    dispatch_async(dispatch_get_main_queue(), ^{
        [self longTaskDidFinish]; // 2
    });
});