当我使用委托方法关闭程序中的屏幕时,我正在从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 :(得分:0)
Xcode会显示错误在哪一行。双击错误,这应该可以解决问题。
答案 1 :(得分:0)
标题中的问题在于:
#pragma mark - PlayerDetailsViewControllerDelegate
- (void)playerDetailsViewControllerDidCancel:(PlayerDetailsViewController *)controller
{
[self dismissViewControllerAnimated:YES completion:nil];
}
- (void)playerDetailsViewControllerDidSave:(PlayerDetailsViewController *)controller
{
[self dismissViewControllerAnimated:YES completion:nil];
}
您已将这些方法的实现放在头文件中! 头文件声明了类的公共方法原型 - 那些不是原型,那些是你的委托方法 implementation 。您已在协议声明中声明的原型。