2011-12-13 2 views
0

Im이 zlib로 압축되는 일부 데이터의 압축을 푸는 중입니다. Im을 수정하는 방법에 대해 확실하지 않은 경고를 내 코드에서 받고 있습니다.ASIHTTPRequest zlib 압축 해제

- (void)requestFinished:(ASIHTTPRequest *)request 
{ 

    responseData = [request responseData]; //Pass compressed data from server over to NSData variable might use to check size 
    NSData *uncompressedResponseData = [[NSData alloc] init]; 
    uncompressedResponseData = [[request responseData] zlibInflate]; //error here 

    //Is this where I have to think about decompression? or do I pass this data out to another method? 
} 

는 오류가 어떤 도움이 문제는 그 방법을 지원하지 않는 개체에, 방법, zlibInflate를 호출하고 있다는 점이다

답변

1

을 감상 할 수있다

Receiver type 'NSData' for instance message dose not declare a method with selector 'zlibInflate' 

로 읽는다 : NSData은 임의의 데이터를 나타내며 데이터 압축 해제에 대해서는 알지 못합니다.

어쨌든 돌아 오는 데이터를 수축 시키려고하십니까? ASIHTTPRequest가 (서버가 gzip 된 데이터를 반환 한 경우) 팽창을 처리하지 않습니까?

NSData을 치료하면 어떻게 될까요? 이미 팽창 된 것처럼 돌아 오지 않을까요?

changelog, 특히 "on-the-fly gzip decompression"부분을 참조하십시오.

+0

참으로 나는 zlib에 아무런 진전이 없기 때문에 Im은 gzip과 함께 갈 것이라고 생각합니다. 데이터를 처리하지 않고 무작위로 숫자를 구합니다. –

+0

zlib가 직접 압축 해제를 지원하는지 궁금하십니까? –

+0

데이터를 가져 오는 서버가 zlib을 사용하여 데이터를 확실하게 압축하지 못합니까? 그렇다면 zlib 라이브러리로 얻은 데이터의 압축을 풀어 보았습니까? – occulus