0

状況:
アプリのどこかで、サーバーからデータのダウンロードを開始します。ダウンロードを開始する前に、UILabelを更新して@ "NowDownloading..."と言います。ダウンロードが終了したら、空白に戻します。


問題:
ダウンロードはすべてのコンピューターの注意を引くようであり、UILabelは最後(ダウンロードがすでに終了している)まで更新されないため、空白に戻されます(または、リアルタイムで表示されることはありません)。 )。


質問:
ダウンロードの直前にUILabelを「NowDownloading」と表示するように簡単に更新するにはどうすればよいですか?

4

2 に答える 2

3
label.text = @"Downloading";
NSOperationQueue *operationQueue = [[NSOperationQueue]alloc]init];
NSInvocationOperation *operation = [[NSInvocationOperation alloc]initWithTarget:self selector:@selector(download) object:@"http://www.google.com"];
[operationQueue addOperation:operation];
[operation release];


- (void)download:(NSString *)url
{
    // do the download
    [self performSelectorOnMainThread:@selector(didFinishDownload) withObject:nil waitUntilDone:NO];
}

- (void)didFinishDownload
{
   label.text = @"";
}
于 2010-02-02T18:05:05.400 に答える
0

NSURLRequest->NSURLConnectionおよびNSURLConnectionのデリゲートメソッドを使用すると、バックグラウンドでダウンロードが実行され、着信データがデリゲートに通知されます。これにより、進行状況を表示することもできます。

于 2010-02-02T18:00:24.267 に答える