0

このリンク をCDTest.hおよびCDTest.mとして使用しており、TestAppDelegate.miでは、ボタンアクションを使用してこれらのクラスを次のように呼び出しています。

-(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に送信されましたMac osxを初めて使用するので、助けてください。

4

1 に答える 1

0

このメソッドはクラスメソッドであり、インスタンスメソッドではありません。次のものを使用する必要があります。

[CDTest gzipData:data]

さらに、次の場合、実際には文字列からNSDataを作成しています。

NSData* data=[txtfile dataUsingEncoding:NSUTF8StringEncoding];

あなたがしたいのは、ファイルのコンテンツからデータを取得することです。これは次のとおりです。

NSData *data = [NSData dataWithContentsOfFile:txtfile];
于 2012-07-31T09:51:23.397 に答える