2012-10-26 73 views
0

我想從服務器中獲取多個圖像,我希望使用它的ASINetworkQueue。我想知道是否需要爲ASIHTTPRequest對象設置使用setDownloadDestinationPath:path的downloadDestinationPath。有沒有辦法在不設置DownloadDestinationPath的情況下使用ASINetworkQueue?如果是這樣,該怎麼辦呢?一旦將這些圖像下載到Documents目錄中,圖像也會發生什麼變化。我不想堆積所有的圖像,因爲我的項目涉及廣泛使用圖像。沒有設置的ASINetworkQueue DownloadDestinationPath

回答

0

我用ASIHTTPRequest對象的tag屬性將它們添加到ASINetworkQueue對象之前,設置每個我的要求的不同標籤。

ASIHTTPRequest *request; 
    request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:[imageURLDictionary objectForKey:@"test1"]]]; 
    request.tag=1; 
    [networkQueue addOperation:request]; 

    request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:[imageURLDictionary objectForKey:@"test2"]]]; 
    request.tag=2; 
    [networkQueue addOperation:request]; 

    request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:[imageURLDictionary objectForKey:@"test3"]]]; 
    request.tag=3; 
    [networkQueue addOperation:request]; 
[networkQueue go]; 

並在成功和失敗處理他們在委託方法。

- (void)imageFetchComplete:(ASIHTTPRequest *)request 
{ 
if (request.tag==1) { 
    _image1.image=[UIImage imageWithData:request.responseData]; 
} 
if (request.tag==2) { 
    _image2.image=[UIImage imageWithData:request.responseData]; 
} 
if (request.tag==3) { 
    _image3.image=[UIImage imageWithData:request.responseData]; 
} 
}