因此,我为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上面有一个视图,它应该显示正在下载的文件的进度。添加到队列和下载不是问题。它只是让进度条更新。
答案 0 :(得分:0)
尝试将DownloadProgressDelegate设置为另一个类,例如AppDelegate,并使用它来决定更新进度条的视图。