ASIHTTPRequest декомпрессия zlib - PullRequest
       8

ASIHTTPRequest декомпрессия zlib

0 голосов
/ 14 декабря 2011

Я пытаюсь распаковать некоторые данные, которые я получаю, которые сжимаются с помощью 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?
}

Ошибка читаеткак

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

Любая помощь будет оценена

1 Ответ

1 голос
/ 14 декабря 2011

Проблема в том, что вы вызываете метод zlibInflate для объекта, который не поддерживает этот метод: NSData представляет некоторые произвольные данные и ничего не знает о распаковке данных.

Вы уверены, что хотите в любом случае пытаться дефлировать данные, которые вы возвращаете? Разве ASIHTTPRequest не обрабатывает раздувание для вас (если сервер вернул данные gzip)?

Что произойдет, если вы просто отнесетесь к NSData, который вы вернули, как к тому, что он уже раздут?

См. Также changelog , в частности, часть под названием «Распаковка gzip на лету».

...