另一个视图中的ASIHTTPRequet进度条

时间:2012-07-22 18:58:33

标签: ios progress

因此,我为ASIHTTPRequest和网络队列创建了一个单例类。它在后台下载文件没有问题。但是,因为我从一个视图启动下载,然后用户可以选择更改选项卡以查看下载队列。当我切换到选项卡时,进度条没有更新。我不确定如何在另一个视图控制器中获取进度条以进行更新。

if (!self.queue) {
    appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
    self.queue = [[[ASINetworkQueue alloc] init] autorelease];
    [self.queue setMaxConcurrentOperationCount:1];
    [self.queue setDownloadProgressDelegate:self];
}

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];

[request setDownloadDestinationPath:desPath];
[request setDelegate:self];
[request setDidFinishSelector:@selector(requestDone:)];
[request setDidFailSelector:@selector(requestWentWrong:)];
[self.queue addOperation:request]; //queue is an NSOperationQueue
[self.queue go];

所以问题是:由于上面的代码在后台运行,我如何设置setDownloadProgressDelegate来更新另一个视图控制器中的progressView?我已经有了要下载的文件的tableview,并且在tableview上面有一个视图,它应该显示正在下载的文件的进度。添加到队列和下载不是问题。它只是让进度条更新。

1 个答案:

答案 0 :(得分:0)

尝试将DownloadProgressDelegate设置为另一个类,例如AppDelegate,并使用它来决定更新进度条的视图。