1

バックグラウンド スレッドで json を解析する必要があります。このパーサーは、デリゲート メソッドを使用してプログレス バーも更新する必要がありますが、何らかの理由でプログレス バーが更新され、プロセスが終了するだけです。私のコードは次のとおりです。

-(void)downloadStuff
{
   // some other code
   downloaderController.delegate = self;
   dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
       [downloaderController parseJson];
   });
}

プロセス中にメソッド parseJson がデリゲートを数回呼び出して、進行状況バーを次のように更新します。

-(void)updateProgressBar
{
      //Is anyone listening
      if([_delegate respondsToSelector:@selector(updateProgressBar)])
      {
         [_delegate updateProgressBar];
      }
} 

そして、私の updateProgressBar は次のとおりです。

(void)updateProgressBar
{
    _progressBar.progress =+ 0.05f;
}

ここで私が間違っていることを誰かが説明できますか?

4

1 に答える 1