2013-03-22 65 views
1

我一直在搞這個天。我是新的xcode ..但只是不知道爲什麼我一直得到這個錯誤。我已經嘗試過,並試圖......我希望有人能幫助我。感謝您的時間'ImageEditorViewController'沒有明顯的@interface聲明選擇器'initWithImageAndSaveName:saveName:'

- (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]; 
} 
+1

你在哪裏申報和實施這些方法?做cmd-shift-f來搜索整個項目。 – 2013-03-22 05:39:13

回答

1

查找範圍爲「ImageEditorViewController」 .h文件,看看它是否有「initWithImageAndSaveName:saveName:'」中就有一個方法聲明。

還要確保將ImageEditorViewController.h文件導入到包含您的「longPressAction」方法的.m文件中。

0

它只是試圖告訴你,沒有該名稱存在的方法。有兩個地方可以編寫該方法。一個會在@interface和@end之間的頭文件中。另一個位置是放置在.m文件的@implementation和@end部分之間。我會推薦後者,除非你打算繼承這個類並讓另一個類使用這個方法。只是在@implementation中聲明它,然後在你自己的方法中私下引用它,這只是一個更簡潔的方法。

雖然基本上保持簡潔,但該方法目前不存在,如果要使用它,則需要實現該方法。

+0

雖然如果它不在標題中,它將不會從他試圖從中調用它的類中看到。他可能已經在.m中,只是沒有它在頭上。 – Jsdodgers 2013-03-22 05:20:14

+0

是的,我認爲他是從ImageEditViewController類本身調用它。如果他正在導入ImageEditViewController並從中進行客戶初始化,那麼他肯定應該在.h中。 – AdamG 2013-03-22 05:22:34

+0

如果我爲他們發佈兩個文件的完整代碼,會有幫助嗎?我不能表示我有多接近將我的頭髮拉出LOL。我一直在嘗試這個好幾天,在我的Dev退出之後,我放棄了99%完成的應用程序。如果有人願意幫助我,我會更樂意將遙控器送入我的Mac。 – 2013-03-22 05:29:19

相關問題