私は方法を持っていますrefreshDataAction:   
- (void)refreshDataAction
{
    MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
    hud.labelText = @"Loading Data.Please Wait";
    [self deletePreviousValues];
    dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
        NSLog(@"Getting customer values");
        [self getAllCustomerValues];
        NSLog(@"Got customer values");
        NSError *nwerror = nil;
        if (![self.secondMOC save:&nwerror])
        {
            NSLog(@"209 Failed to save second MOC");
        }
        else
        {
            //NSLog(@"saved success");
        }
        dispatch_async(dispatch_get_main_queue(), ^{
            [MBProgressHUD hideHUDForView:self.view animated:YES];
        });
        NSLog(@"Saved");
    });
    NSLog(@"Dispatched");   
}
開始するとすぐにrefreshDataAction、HUD が表示されるはずです。しかし、HUD を表示する前に 13 秒待つようなものではありません。なぜそのようなことが起こっているのか、私にはわかりません。ActivityIndicator のような別のものを試しましたが、役に立ちませんでした。アプリが hud を開始するのに 13 秒待機するのはなぜですか。シミュレーターではその瞬間。ボタンをクリックすると、HUD が表示されます。しかし、デバイスでは13秒の遅延。バックグラウンド スレッドが何らかの作業を行っている間、すぐに hud を開始します。助けてください。このタスクを実行する方法を考え出すのに 5 時間を費やしました。
ここに私の質問があります:バックグラウンドのスレッドがデータをロードしている間に UIAlertview がハングする
に変更しましたMBProgressHUD。一緒に仕事をしたことのある開発者は、MBProgressHUDこの問題に気付くかもしれません。
私のメイン UI スレッドは 13 秒間何らかのスリープ モードになっていますか? この時点では本当にわかりません。参考までに、それは iOS 6.0 です。これは社内の iPad アプリです。さらに情報が必要な場合は、お問い合わせください。ありがとうございます