2

我在一个正常运行了一个月的项目的 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

任何形式的帮助都将不胜感激,因为自上周以来我一直在寻找这些错误,但无法解决。

4

2 回答 2

12

问题不AppDelegate.h在于您发布的内容。该文件编译得很好。

您需要弄清楚.mXcode 在发出错误时试图编译哪个文件。转到日志导航器(视图 > 导航器 > 显示日志导航器)。选择您的最新版本。由于错误,它旁边应该有一个红色圆圈。单击它以显示该构建的日志。

您应该在列表中找到一行,如“Compile AppDelegate.m”或“Compile ViewController.m”,其中列出了其下的错误。这就是 Xcode 试图编译的文件。

现在转到该文件。查看文件顶部,您的#import语句所在的位置。检查您可能不小心输入的杂散字符。

如果在那里没有找到任何杂散字符,请检查每个导入的文件。查看文件末尾是否有杂散字符、缺少@end语句、缺少分号、缺少大括号或缺少括号。这些问题中的任何一个都将导致编译器错误出现在下一个导入的文件或.m文件中。

如果您使用的是修订控制系统(如 git 或 svn),请使用它来区分您的文件。.h在文件的顶部或末尾或文件的顶部查找没有意义的更改.m。如果您在构建损坏时签入了文件,则需要与较旧的工作版本进行比较。

如果您没有使用修订控制系统,现在您知道为什么需要尽快开始使用一个。

于 2012-08-17T05:43:44.610 回答
3

有关真正的问题,请参见上面 Rob Mayoff 的回答:.m 或 .h 文件中的错误字符。

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

于 2012-11-14T05:31:54.067 回答