Я работаю над проектом 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 часа).
Удачи !!