0

当分の間、以下のコードを使用して、ユーザーの進行中のアクションの表示を有効にします (いくつかのファイルをダウンロードします... 1 秒以上かかる場合は、UIActivityIndicatorViewUIProgressView を表示します。問題は、何らかの理由で動作することですiPhone でも iPad では不安定、特に制限時間近くになると不安定。

        __block BOOL hasDownloads = YES;
        __weak typeof(self) weakSelf = self;

        double delayInSeconds = 1.0;
        dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
        dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
            if (hasDownloads) {
                [weakSelf progressInformationShow:YES];
            }
        });

そのコードの後、完了ハンドラーを使用してバックグラウンド スレッドでファイルのダウンロードを開始します。完了ハンドラは残りのファイル ダウンロードをチェックし、最後のダウンロードが完了すると hasDownloads フラグを NO に設定します。

それに対するより良い解決策はありますか、それともコードに問題がありますか?

編集進行状況ブロックも完了ブロックもパッドで呼び出されましたが、電話で呼び出されましたか?!

4

0 に答える 0