Я выполняю действие на панели вкладок, т. Е. (Когда кнопка дважды нажата), оно должно выполнить,
[root.FeedTableView setContentOffset:CGPointZero animated:YES];
, но я не могу выполнить его в,
dispatch_async(dispatch_get_main_queue(), ^{
});
, так как ничего не происходит, поэтому я попытался использовать
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
});
, и все заработало нормально, в этом случае всплывет ошибка выполнения потока.
Проверьте код ниже и предложитесредство для решения этой проблемы с потоками, которая возникает в
[root.FeedTableView setContentOffset: CGPointZero animated: YES];
(void)processBtn:(UIButton *)sender {
NSLog(@"sender:%li",(long)sender.tag);
if (self.selectedViewController==self.viewControllers[0] && sender.tag==1){
NewsFeedViewController * root = [newsFeedSceneController.viewControllers firstObject];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
[root.FeedTableView setContentOffset:CGPointZero animated:YES];
dispatch_async(dispatch_get_main_queue(), ^{
if(!root.isUpdatingTableView)
[root.refreshControl endRefreshing];
});
});
}