1

現在、メソッドを呼び出してWebサーバーからデータをダウンロードしていますfetchProducts。これは別の別のスレッドで行われます。上記のメソッド内で50個のアイテムを正常にダウンロードしたので、によってリッスンされているメソッド呼び出しを介してpost通知します。これはセレクターとは別のものであることに注意してください。通知を受け取ったら、自分のプロパティと進行状況を示すラベルを設定します。以下は、UIでこの変更を行うコードです。[NSNotification defaultCenter]postNotificationName: object:ObserverObserverViewControllerupdateProductsBeingDownloadedCount:ObserverprogressView

dispatch_async(dispatch_get_main_queue(), ^{
    if ([notif.name isEqualToString:@"DownloadingProducts"]) {

        [self.progressBar setProgress:self.progress animated:YES];
        NSLog(@"SetupStore: progress bar value is %.0f", self.progressBar.progress);

        self.progressLabel.text = [NSString stringWithFormat:@"Downloading %.0f%% done...", self.progress * 100];
        NSLog(@"SetupStore: progress label value is %@", self.progressLabel.text);
        [self.view reloadInputViews];
    }
});

アイデアは、progressViewダウンロードが完了するまで、より多くのアイテムがダウンロードされていたときに同時に移動することです。私の場合、progressViewのアニメーションはアイテムがすでにダウンロードされた直後に開始されるため、遅延が発生します。親切にこれについて私に教えてください。

4

0 に答える 0