2013-02-17 48 views
2

我正在制作一个音乐应用程序,它使用ASIHTTPRequest访问服务器的api,并使用NSURLConnection下载音乐文件。如何更改NSURLConnection的优先级?

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

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

如何归档?

回答

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]; 
}