如何更改NSURLConnection的优先级?

时间:2013-02-17 07:08:18

标签: iphone ios nsurlconnection

我正在制作音乐应用,使用ASIHTTPRequest访问服务器的api,并使用NSURLConnection下载音乐文件。

一个音乐文件是10M左右。下载音乐文件时,访问服务器的api将比不下载音乐文件慢得多。

所以我想更改下载连接的优先级。但是没有API可以更改NSURLConnectionNSURLRequest的优先级。

如何存档?

1 个答案:

答案 0 :(得分:1)

我认为只有NSOperationQueues才能被优先考虑。这是一个示例的链接: http://eng.pulse.me/tag/nsurlconnection/

另一种方法是,在完成其他下载后,停止下载音乐文件的简历。为此,您可以告诉ASIHTTP将下载保存到文件中并根据请求恢复。

以下是我的一个项目的示例:

- (void) executeFileDownloadAtURL:(NSURL *) aURL toDirectory:(NSString *) aDestinationPath;
{
    self.request = [ASIHTTPRequest requestWithURL:aURL];
    [self.request setDownloadDestinationPath:aDestinationPath];
    self.request.downloadProgressDelegate = self.delegate;
    [self.request setAllowResumeForFileDownloads:YES];
    NSString *tmpDir = NSTemporaryDirectory();
    NSString *tempFilePath = [NSString stringWithFormat:@"%@%@", tmpDir, @"TempMovie.mp4"];
    [self.request setTemporaryFileDownloadPath:tempFilePath];
    self.request.showAccurateProgress = YES;
    self.request.delegate = self;
    [self.request startAsynchronous];
}