0

我有个问题。在我的应用程序操作表中,当点击表的行时会打开选择器。我的问题是,当主线程被阻塞时,动作表不会打开,但触摸事件被添加到运行循环中,因此,每当主线程发生变化时,它就会完成所有触摸动作,结果动作表会根据我们点击的次数打开表行。但我只想要一次。

这个问题怎么解决???

4

1 回答 1

1

主线程永远不应该被“阻塞”......尝试通过执行以下操作在不同线程上运行“阻塞”主线程。

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    [self doSomeLongTask]; // 1
    dispatch_async(dispatch_get_main_queue(), ^{
        [self longTaskDidFinish]; // 2
    });
});
于 2013-08-17T18:11:26.350 回答