Objective c 使用objective c实现Xcode中的Zlib

Objective c 使用objective c实现Xcode中的Zlib,objective-c,osx-lion,Objective C,Osx Lion,我正在使用 作为我的CDTest.h和CDTest.m,在我的TestAppDelegate.m中,我用按钮操作调用这些类 -(IBAction)Zipbtn:(id)sender{ NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSLog(@"paths=%@",paths); NSString* dPath = [pa

我正在使用 作为我的CDTest.h和CDTest.m,在我的TestAppDelegate.m中,我用按钮操作调用这些类

-(IBAction)Zipbtn:(id)sender{

    NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSLog(@"paths=%@",paths);
    NSString* dPath = [paths objectAtIndex:0];
    NSLog(@"dpaths=%@",dPath);

    NSString* txtfile = [dPath stringByAppendingPathComponent:@"test.txt"];
    NSLog(@"txtfile=%@",txtfile);

    NSData* data=[txtfile dataUsingEncoding:NSUTF8StringEncoding];
     NSLog(@"data=%@",data);

   CDTest *obj=[[CDTest alloc]init];
    [obj gzipData:data];


}
但是展示

警告实例方法-gzipData在按钮上也未找到单击显示:-[CDTest gzipData::]:发送到实例0x7f8d7a009070的无法识别的选择器 请帮助我,因为我是MacOSX新手


该方法是类方法,而不是实例方法。您应该使用:

[CDTest gzipData:data]
此外,在执行以下操作时,实际上是从字符串创建NSData:

NSData* data=[txtfile dataUsingEncoding:NSUTF8StringEncoding];
您要做的是从文件内容中获取数据,即:

NSData *data = [NSData dataWithContentsOfFile:txtfile];

您是否将类的名称从
LFCGzipUtility
更改?是!我已将classname更改为cdtest请向我们展示新的源文件;这个错误几乎肯定存在。我的应用程序中也包含了libz.1.2.5.dylib,但我不知道哪里出错。与我使用的示例相同。音频和视频文件与上述示例不兼容,是否有人可以帮助我或给我正确的链接。首先,您是从字符串创建NSData,而不是从文件内容创建NSData-我将更新答案