1

私はこれを何日もいじっています。私はxcodeを初めて使用します..しかし、なぜこのエラーが発生し続けるのかわかりません。私は試してみました...誰かが私を助けてくれることを願っています。お時間をいただきありがとうございます

- (void)longPressAction:(UILongPressGestureRecognizer *)gestureRecognizer
{
    CGPoint touchLocation = [gestureRecognizer locationInView:self.webView];

    NSString *javascript = [NSString stringWithFormat:@"document.elementFromPoint(%f, %f).src", touchLocation.x, touchLocation.y];
    NSString *imageUrl = [self.webView stringByEvaluatingJavaScriptFromString:javascript];

    NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:imageUrl]];
    UIImage *image = [UIImage imageWithData:imageData];

    // Show the editor
    ImageEditorViewController *editView = [[ImageEditorViewController alloc] initWithImageAndSaveName:image saveName:[imageUrl lastPathComponent]];
    [self.navigationController pushViewController:editView animated:YES];
}
4

2 に答える 2

1

.h ファイルで " ImageEditorViewController" を調べ、" " のメソッド宣言があるかどうかを確認してくださいinitWithImageAndSaveName:saveName:'

longPressActionまた、ImageEditorViewController.h ファイルが " " メソッドを含む .m ファイルにインポートされていることを確認してください。

于 2013-03-22T05:11:08.340 に答える
0

その名前のメソッドが存在しないことを伝えようとしているだけです。そのメソッドを記述できる場所が 2 つあります。1 つは、@interface と @end の間のヘッダー ファイルにあります。もう 1 つの場所は、.m ファイルの @implementation と @end の部分の間に配置することです。このクラスをサブクラス化し、別のクラスにメソッドを使用させる予定がない限り、後者をお勧めします。@implementation で宣言するだけで、独自のメソッドで非公開に参照する方が少しすっきりします。

ただし、基本的には簡潔にするために、そのメソッドは現在存在しないため、使用する場合は実装する必要があります。

于 2013-03-22T05:11:38.857 に答える