微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我所有标头中都出现相同的错误-错误:在\'protocol\'之前应为\'=\'…

如何解决我所有标头中都出现相同的错误-错误:在\'protocol\'之前应为\'=\'…

| 我从事iOS项目已经有一段时间了,但是现在我遇到一个错误,这确实使我感到困惑,只要我无法修复它,我什至无法编译该项目,因此我需要一些认真的帮助! 一切始于: 错误:\ protocol \之前的预期\'= \',\',\',\'; \',\'asm \'或\'attribute \' 在PHCluesListViewController.h中。该类已经很长时间没有更改,并且在发生错误时我正在从事的工作与该特定类无关。 看起来是这样的:
#import <UIKit/UIKit.h>

@protocol PHCluesListViewControllerDelegate;

@class PHClueListTableViewController;

@interface PHCluesListViewController : UIViewController {

    IBOutlet PHClueListTableViewController *clueListTableViewController;

    id <PHCluesListViewControllerDelegate> delegate;
}

- (void)mapDelegate;

@property (nonatomic,assign) id <PHCluesListViewControllerDelegate> delegate;

@end

@protocol PHCluesListViewControllerDelegate

- (void)mapUp:(PHCluesListViewController *)controller;

@end
没有语法错误,上下文中的代码也没有错。稍后,我将了解到,如果要从头文件删除所有代码,则错误将移至另一个随机文件,或者,如果要导入另一个头,则错误将移至该头。 我尝试重新启动xcode,将项目移至新版本,将代码重写为新文件,并将项目移至具有另一版本xcode的另一台计算机,但没有运气。 我可以在计算机上运行其他xcode项目。 在我看来,xcode试图以某种不需要的方式在此特定项目中编译我的标头。 非常感谢您的帮助,谢谢您! ----------编辑!!! ---------- 感谢您的快速响应!尽管我找到了答案。 错误是在完全不同的文件/类中的实现范围之外写了一个“ d”。偶然发现的... 如果其他人会发生类似的事情;检查诸如@end之后或@ interface / @ implementation之前写的字母之类的东西,或其他会“削减”通用语法边缘的东西。 很难找到发生此类错误的原因,我对在80个文件中如此迅速地发现它(仅4.5小时)感到有些惊讶。 祝好运!!

解决方法

您要两次定义@protocol PHCluesListViewControllerDelegate。另外,如果需要实现mapUp,则可能要添加@required关键字。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。