2012-10-26 5 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]; 
} 
}