Objective-C:编译期间预期的标识符或'('和3个未知错误

时间:2012-08-17 04:40:07

标签: objective-c compiler-errors

我在项目的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

任何形式的帮助都将受到高度赞赏,因为我上周以来一直在寻找这些错误,但无法解决。

2 个答案:

答案 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文件中的错误字符。

添加到他的回复中只需添加一件事:如果您没有使用版本控制,请打开您喜欢的文件浏览器,导航到源文件树,然后按日期对文件进行排序。开始查看最近更改的文件。