2013-02-17 103 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]; 
}