同样的错误我所有标题 - 错误:预期'='...在'协议'之前

时间:2011-04-18 22:31:19

标签: iphone objective-c xcode header

我已经在iOS项目上工作了一段时间,但现在我有一个错误让我感到困惑,只要我无法解决它,我甚至无法编译项目,所以我需要一些认真的帮助!

一切都始于:

错误:在'协议'之前预期'=',',',';','asm'或'属性'

在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 / @实现之前写的字母或其他任何会削减常用语法边缘的字母。

很难找到像这样的错误的原因而且我有点惊讶我在80个文件中发现它如此之快(仅4.5小时)。

祝你好运!!

1 个答案:

答案 0 :(得分:0)

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