我一直在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小时)中如此之快。
祝你好运!
如果这影响项目/目标中的每个源文件,请检查相应的前缀头(.pch)。 – 2011-04-18 22:33:47
尝试使用铿锵编译它,如果你不是;它的错误信息更有用(以我的经验)。 – Wevah 2011-04-18 22:47:52