不能与以前的“types名称”声明说明符结合使用

我的iOS应用程序正在工作,突然间,我看到这个错误:“不能与以前的'types名称'声明说明符”。 任何想法可能导致这个错误?

#import "SalesAPIManager.h" @interface SalesDelegate : NSObject { // error points to this line __unsafe_unretained id<SalesAPIManagerDelegate> delegate_; } @property (unsafe_unretained, nonatomic) id<SalesAPIManagerDelegate> delegate; - (id)initWithDelegate:(id<SalesAPIManagerDelegate>)delegate; @end 

同样,我在项目中的一个随机文件中有一个错字。 这只是一些无意中置于评论之前的纯文本。 我build议修正/find它将是一个; 就在被标记的语句之前。 然后,当我编译时,这引起了错误的警告。

这是Xcode的缺点之一。 Xcode是有史以来最糟糕的IDE之一,苹果正试图让每一个更新都变得更好。 但是当你在Xcode的编译器没有看到的地方添加“Some word”时,会引发这个问题。

我的情况就像在图像:

在这里输入图像说明

我忘记了删除AppDelegate.h中的RESideMenu这个词,以及Xcode接受这个代码的奇怪的事情,直到构build它,并且当它触发错误时,它会在另一个不相关的类中放射它。

我有这个相同的问题。 事实certificate,我的main.m文件中有一个错字。 一旦我清除了这个错误,这个错误就消失了。

我得到同样的问题。 最后,我清理了我的.h文件底部的一些垃圾文本。 你可以试试。

我看到这个错误,当我的文件中有一些死的不完整的代码,我忘了拿出来。 编译器在返回types的方法开始时指出了错误,所以我花了很多时间去查看方法声明和调用。 原来错误的错字超出了方法。 既然没有“;” 编译器只能告诉void关键字放错了位置。

我把它放在一个头文件中,实际上错误在.cpp中。 原来我有一个方法试图以粗略的方式返回一个布尔:

 return (x == 1 && y == 2); 

事实certificate,这是行不通的,但Xcode以这种非常模糊的方式告诉我。

不知道这是否有帮助,但这是他们看似沙漠的另一个例子。