バックグラウンド スレッドで 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;
}
ここで私が間違っていることを誰かが説明できますか?