UI 在 ios 中触摸屏幕后才更新

UI is not Updated until I touch the screen in ios

在我的 ios 应用程序中,我使用 GCD 调用在后台线程中下载一些数据,但它不会立即更新 UI,我应该触摸屏幕来更新 UI,以下是我的代码,我想知道为什么 table 视图没有重新加载,尽管我试图在主线程

中更新
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        //background processing goes here
         // Downloading JSON data from Web APIs
        dispatch_async(dispatch_get_main_queue(), ^{
                //update UI here

                //Reloading my table view
                 [objTableView reloadData];
        });
});

我也试过 runOnMainQueueWithoutDeadlocking 而不是 dispatch_async(dispatch_get_main_queue() 但是没用

void runOnMainQueueWithoutDeadlocking(void (^block)(void))
{
    if ([NSThread isMainThread])
    {
        block();
    }
    else
    {
        dispatch_sync(dispatch_get_main_queue(), block);
    }
}

尽量放

yourtableviewdelegate.layoutIfNeeded() 

重新加载表视图后。

用户决定更改问题代码之前给出的答案

根据 Apple Documentation for UITableView there is no method called reload it should be reloadData. So you need to change the line [objTableView reload]; to [objTableView reloadData]; as per the Apple Documentation around UITableView reloadData:. Also if you checkout How to Reload a UITableView While I am Looking at It and Reload data of UITableView in background 这些也说是 [objTableView reloadData];