をコードしていました。解凍zlibのは、私がASIHTTPRequestラッパーを使用してダウンロードしていますいくつかのzlibのエンコードされたデータを解凍しようとしていたNSData
これは私がこれまで..ほとんどだけでデータを取得しているし、今私は伸張処理を開始するためのいくつかの助けを期待していたものです。
- (IBAction)sendHttpsRequest
{
//Set request address
NSMutableString *databaseURL = [[NSMutableString alloc] initWithString:@"https://192.168.17.36:443"];
//call ASIHTTP delegates (Used to connect to database)
NSURL *url = [NSURL URLWithString:databaseURL];
//This sets up all other request
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setDelegate:self];
[request setValidatesSecureCertificate:NO];
[request setPostValue:@"ClientDataSet.xml" forKey:@"filename"];
[request startSynchronous];
}
- (void)requestFinished:(ASIHTTPRequest *)request
{
responseData = [request responseData]; //Pass requested data from server over to NSData variable..
//Is this where I have to think about decompression? or do I pass this data out to another method?
}
- (void)requestFailed:(ASIHTTPRequest *)request
{
self.hudCheck = NO;
[NSTimer scheduledTimerWithTimeInterval:0.25 target:self selector:@selector(stopAnimating) userInfo:nil repeats:NO];
NSError *error = [request error];
NSLog(@"%@", error);
}
だから、かなり私は解凍段階にしかし、私はこのデータを解凍するために使用する必要がどの関数/メソッドなどを確認していませんよ。私はASIラッパーがすべてを処理するので比較的簡単なgzipでこれを試したことがあります。
は、しかし原因私のコントロール外の状況に、私は今取得していますデータは、あなたがそれについて私に言うことができる任意の関数、メソッドまたは例が私の原因がいただければ幸いに役立つzlibのエンコード...です。
編集:
が@Caleb応答から今後私は を追加したが、私のファイルに「zlib.hの」を含んで、今、これはメソッドをフレームワークへのアクセス権を持っています。そのうちの1つはinflate()メソッドです。しかし、どのパラメータを入力する必要があるのかよくわかりません。何か案は?。
はい、私はそれを見ましたが、私はC++の例を見ていたと思った、これは私がやっている何で動作するように取得するかどうかはわかりませんでした。 #include "zlib.h"を追加するだけで、NSDataオブジェクトのinFlateを呼び出すことができます。 –
Cool、私はちょうど今、どのパラメータがinflate(__、__)にエネルされるべきかを把握しています。 –
例は普通のCです。注釈が多すぎますので、何度か読んで理解してくださいそれが最初に。この例の 'inf()'関数はファイルを読み書きします。あなたのNSDataから読み込み、あなたが提供するNSMutableDataに書き込むためにそれを適応させたいでしょう。 'fread()'と 'fwrite()'の呼び出しをNS [Mutable] Dataの呼び出しで置き換えるのは難しくありませんが、NSInputStreamとNSOutputStreamを使ってもっと簡単にすることができます。概念的には、NS [Input | Output] Streamは、FILE *と同じように動作します。連続して読み書きするバッファだけです。 – Caleb