我一直在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