2007年11月19日月曜日

zlibをCocoaの中で使う.

追記(2008/09/29):
ちなみに/usr/libをFinderでひらくにはメニュー/移動/フォルダへ移動…で"/usr/lib"と入力する.
か,ターミナルで"open /usr/lib"とする.



まぁこちらに書かれているExtensionを使うだけなのですが.
#ZLIBやGZIPの部分だけあればよいですが.
CocoaDev
NSDataCategory
http://www.cocoadev.com/index.pl?NSDataCategory

で,あとはzlib.dylibをプロジェクトに追加(Drag & Drop)する.

zlibをプロジェクトに追加してしまえば普通にzlibの関数を使えますのでNSDataにExtensionとかしないでももちろんオッケーです.

で上記のExtensionを使ってのGZIPならコードはこんなかんじ?
  NSMutableString *target= [NSMutableString stringWithString:@"This is test string."];
int i;
for(i= 0; i<1000; i++) {
[target appendString:@"This is test string."];
}
NSData *original= [target dataUsingEncoding:NSASCIIStringEncoding];
NSLog(@"%d", [original length]);
NSData *archive= [original gzipDeflate];
NSLog(@"%d", [archive length]);
NSData *unarchive= [archive gzipInflate];
NSLog(@"%d", [unarchive length]);

0 件のコメント: