1

ねえ、アプリケーションのさまざまなビューにさまざまなサブクラスを使用しています。そのために、ある関数から別の関数に C4Image を渡そうとしています。私のコードは次のとおりです

cropPhoto= [CropPhoto new];
cropPhoto.canvas.frame=CGRectMake(0, 0, self.canvas.width, self.canvas.height);
cropPhoto.canvas.userInteractionEnabled = YES;
[cropPhoto setup:img];

cropPhoto.mainCanvas=self.canvas;
[self.canvas addSubview:cropPhoto.canvas];

img は、TakePhoto.h で C4Image として宣言されています。

CropPhoto.mで setup 関数を次のように宣言しました

-(void) setup:(C4Image)image{
//some code here 
}

TakePhoto.m で、「'CropPhoto' の目に見える @interface がセレクター 'setup' を宣言していません。」というエラーが表示されます。私は、NSUIntegers を渡す 1 つのサブクラス内でほとんど同じことを行っており、そこで動作します。C4Images に対して、またはサブクラス間で値を渡しているため、他に何かする必要がありますか?

4

1 に答える 1

0

クラス-(void)setup:(C4Image *)image;のファイルで宣言する必要があり.hます。そうしないと、他のオブジェクトがそれを呼び出すことができなくなります。

.h は次のようになります。

@interface CropPhoto 
-(void)setup:(C4Image *)image;
@end

これは、独自に実装するsetup:(C4image*)...カスタム メソッドであるため、可視化する必要があるためです。

他にも多くの理由が考えられます。*同じ問題が発生するさまざまなシナリオについて、次の回答を確認してください。

https://stackoverflow.com/a/10387710/1218605

https://stackoverflow.com/a/14155178/1218605

https://stackoverflow.com/a/13001909/1218605

于 2013-10-21T16:11:48.843 に答える