我在项目的AppDelegate.h文件中突然编译时遇到3个未知错误,该文件正好一个月。 哪个是!
解析问题 - 预期的标识符或'('
解析问题 - 预期')'
语义问题 - 未知类型名称'ViewController';你是说'UIViewController'吗?
我逐行检查了我的代码,没有语法错误或语义问题(我的项目中有ViewController.h,ViewController.m和ViewController.xib)。这些只是未知错误,xcode在AppDelegate.h文件中显示错误
AppDelegate.h
#import <UIKit/UIKit.h>
@class ViewController;
@class SignInViewController;
@class StagesViewController;
@class ResultViewController;
@class myFacebook;
@interface AppDelegate : UIResponder <UIApplicationDelegate>{
myFacebook *myFB;
NSString *appVer;
}
+ (NSString*)Username;
+ (void)setUsername:(NSString*)newUser;
+ (NSString*)UserID;
+ (void)setUserID:(NSString*)newId;
@property (nonatomic, retain) myFacebook *myFB;
@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) UINavigationController *theNavigationController;
@property (strong, nonatomic) ViewController *viewController;
@property (strong, nonatomic) SignInViewController *signInViewController;
@property (strong, nonatomic) StagesViewController *stagesViewController;
@property (strong, nonatomic) ResultViewController *resultViewController;
@end
任何形式的帮助都将受到高度赞赏,因为我上周以来一直在寻找这些错误,但无法解决。
答案 0 :(得分:12)
问题不在您发布的AppDelegate.h
中。该文件编译得很好。
您需要确定Xcode在发出错误时尝试编译的.m
文件。转到日志导航器(查看&gt;导航器&gt;显示日志导航器)。选择您的最新版本。由于错误,它旁边应该有一个红色圆圈。单击它以显示该构建的日志。
您应该在列表中找到一行,例如“Compile AppDelegate.m”或“Compile ViewController.m”,其中列出了其下的错误。那是Xcode试图编译的文件。
现在转到该文件。查看文件顶部,#import
语句所在的位置。检查您可能偶然输入的流浪字符。
如果在那里找不到任何杂散字符,请浏览每个导入的文件。查看文件末尾的杂散字符,缺少的@end
语句,缺少的分号,缺少的括号或缺少的括号。这些问题中的任何一个都会导致出现在下一个导入文件或.m
文件中的编译器错误。
如果您正在使用版本控制系统(如git或svn),请使用它来区分文件。在.h
文件的顶部或末尾或.m
文件的顶部查找无意义的更改。如果您在构建被破坏时签入了文件,则需要针对较旧的工作版本进行区分。
如果您没有使用版本控制系统,现在就知道为什么需要尽快开始使用。
答案 1 :(得分:2)
请参阅上面针对真正问题的Rob Mayoff的回答:.m或.h文件中的错误字符。
添加到他的回复中只需添加一件事:如果您没有使用版本控制,请打开您喜欢的文件浏览器,导航到源文件树,然后按日期对文件进行排序。开始查看最近更改的文件。