0

NSURLConnectionを使用してファイルをダウンロードしています。ビューにUILabelがあり、現在ダウンロード中のファイルを表示する必要があります。UILabelは、開始時と終了時に更新されます。10個のファイルをダウンロードしているとしましょう。ダウンロードを開始する前とダウンロードが完了した後、ラベルテキストを設定できます。

私が呼び出そうとしているメソッドがメインスレッドで実行されていないことは理解できますが、

そこで、次のコードを使用してメインスレッドで実行しました。

[_myHome performSelectorOnMainThread:@selector(updateLabel) withObject:nil waitUntilDone:YES];

と方法は

- (void) updateLabel
 {
         _fileName.text =[NSString stringWithFormat:@"%@",fileName];
 }

これも機能していないようです。私はここで何か間違ったことをしていますか?

ラベルをすぐに更新する方法を教えてもらえますか?

4

2 に答える 2

0

解決済み:NSNotificationCenterを使用して他のクラスに通知を送信しました。これにより、ラベルがすぐに更新されます。updateProgressとperformSelectorOnMainThreadの両方が同じクラスにある場合でも、performSelectorOnMainThreadを試してみました。

それがうまくいかなかった理由は、大歓迎です。

于 2012-07-11T05:11:45.673 に答える
-1
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    //update your label 
}
于 2012-07-10T10:38:12.480 に答える