@class之前的预期标识符或'('错误

时间:2013-08-14 20:28:16

标签: iphone

我有这两个班级:

ViewController.h

#import <UIKit/UIKit.h>
#import "UICustomButton.h"

@interface ViewController : UIViewController <UITableViewDataSource, UITableViewDelegate, UITextFieldDelegate>{
...

ViewController.m

#import "ViewController.h"

@implementation ViewController
...

UICustomButton.h

#import <UIKit/UIKit.h>
@class ViewController;

@interface UICustomButton : UIButton{
...

UICustomButton.m

#import "UICustomButton.h"
#import "ViewController.h"

@implementation UICustomButton
...

我收到以下错误

1预期的标识符或'(' - 在@class之前的文件UICustomButton.h中

2预期')' - 还有

3预期类型 - 当我尝试在UICustomButton.h中使用ViewController时

UiCustomButton.m中的

4我也得到了错误

经过两个小时的谷歌搜索和尝试,我只是看不出问题。你能帮忙吗?

解: 重写一切都是一个很好的想法。它让我看到在ViewController.m文件中我不小心输入了一个paranthesis'('在文件开头的顶部。编译器没有将其丢弃,只有UICustomButton.H生成错误。

2 个答案:

答案 0 :(得分:0)

看起来你拼错了ViewController.h。您的#import行

中有Viewcontroller.h

答案 1 :(得分:0)

不要害怕重启/废弃并重新创建课程。随着您获得更多经验,纠正复杂错误变得更加容易。

我完全认真地说你需要重新开始创建这个类。因为显然你无法解释编译器告诉你的消息,你需要花费更长的时间才能找出问题,而不是创建另一个类,在那里复制业务逻辑并删除当前的实现。您的选择,花费10分钟重新创建文件或花费另一个知道很多小时试图获得语法的人。

即使是专业人士也认为这是一个强大的工具,可以在需要时重新启动。树屋的Marshall Huss解释了in this podcast为什么它对他来说也是优先考虑的。

PS:最好的,一旦完成,你可以将新类重命名为旧名称。