2014-08-30 48 views
0

我在使用委託方法關閉我的程序屏幕時遇到了來自Xcode的這個錯誤。錯誤如下所示:方法原型中的錯誤

預期';'方法原型後

凡委託方法如下:

#pragma mark - PlayerDetailsViewControllerDelegate 

- (void)playerDetailsViewControllerDidCancel:(PlayerDetailsViewController *)controller 
{ 
    [self dismissViewControllerAnimated:YES completion:nil]; 
} 

然而,這種方法正下方是沒有分號心滿意足。

- (void)playerDetailsViewControllerDidSave:(PlayerDetailsViewController *)controller 
{ 
    [self dismissViewControllerAnimated:YES completion:nil]; 
} 

在檢查我的代碼時,我不太確定從哪裏開始尋找修復此錯誤。在我宣佈他們的時候,我需要認識到兩者之間有什麼區別,還是我的程序中有其他地方存在問題?

這裏是PlayerDetailsViewController.h文件的其餘部分:

#import <UIKit/UIKit.h> 
#import "PlayerDetailsViewController.h" 

@class PlayerDetailsViewController; 

@protocol PlayerDetailsViewControllerDelegate <NSObject> 
- (void)playerDetailsViewControllerDidCancel: 
(PlayerDetailsViewController *)controller; 
- (void)playerDetailsViewControllerDidSave: 
(PlayerDetailsViewController *) controller; 

@end 

@interface PlayerDetailsViewController : UITableViewController 

@property (nonatomic, weak) id <PlayerDetailsViewControllerDelegate> delegate; 

- (IBAction)cancel:(id)sender; 
- (IBAction)done:(id)sender; 

#pragma mark - PlayerDetailsViewControllerDelegate 

- (void)playerDetailsViewControllerDidCancel:(PlayerDetailsViewController *)controller 
{ 
    [self dismissViewControllerAnimated:YES completion:nil]; 
} 

- (void)playerDetailsViewControllerDidSave:(PlayerDetailsViewController *)controller 
{ 
    [self dismissViewControllerAnimated:YES completion:nil]; 
} 

@end 

如果此代碼看起來很熟悉,這是因爲它是。我正在通過Ray Wenderlich教程here

我在蘋果文檔中尋找這個問題的答案,但這兩篇文章都沒有真正幫助回答我的問題,或者至少幫助我理解我的問題。

我應該從哪裏開始尋找我的問題?

P.S.對不起,我試圖發佈兩個鏈接到蘋果的文章,但我必須有10個聲望發佈多個鏈接。你可能記得那些日子,如果依稀;)

回答

0

Xcode會告訴你錯誤是在哪一行。雙擊錯誤,這應該會引起你的問題。

+0

它想要在 - (void)行之後的分號。我試圖列出一張圖片,但StackExchange不會讓我。 – 2014-08-30 23:25:00

0

在頭的問題是在這裏:

#pragma mark - PlayerDetailsViewControllerDelegate 

- (void)playerDetailsViewControllerDidCancel:(PlayerDetailsViewController *)controller 
{ 
    [self dismissViewControllerAnimated:YES completion:nil]; 
} 

- (void)playerDetailsViewControllerDidSave:(PlayerDetailsViewController *)controller 
{ 
    [self dismissViewControllerAnimated:YES completion:nil]; 
} 

你已經把你的頭文件的方法實現! 頭文件聲明一個類的公共方法原型 - 那些不是原型,那些是你的委託方法實現。您已經在協議聲明中聲明的原型。

+0

所以這是一個有爭議的問題,一個人工作,另一個沒有。 – 2014-08-31 17:58:54