0

我有一个头文件,其中包含一个带有属性和方法的接口(我们称之为 Eh),Xcode 会通知我此头字段内的语法错误,这没有意义,因为 Eh 不包含任何错误。这些错误仅在某些情况下出现:

eh 已经包含在 Ah 中,没有错误。

当 Eh 不包含在 Bm 中时,没有错误并且可以正常编译,但是如果我将它包含在 Bm 中,则会出现错误。(Bm 不使用 Eh 中的任何代码)

附加信息: Bm 包括 Bh ,然后是 Eh 。

我没有发现包含源代码的相关性,因为它代表了数千行,我不会要求您对此进行分析。我只需要一些提示,说明可能是什么原因以及从哪里开始搜索。

提前致谢。

4

2 回答 2

0

通过使用 Xcode 中的“显示预处理”选项,我发现 Eh named 中的属性@property (retain) NSString *MY_STRING;被替换为@property (retain) NSString *@"My String". 似乎有一个define MY_STRING @"My String"包含在不同的头文件中,它本身包含在 Bh 中,本身包含在 Eh 之前的 Bm 中。很难发现!每日一课:永远不要用大写字母写变量。

于 2013-09-30T22:14:01.070 回答
-1

在 C++ 中,这可行,也许会对您有所帮助:

在文件中

#ifndef __ECLASS__
#define __ECLASS__

<here original declarations from E.h>

#endif
于 2013-09-30T13:22:48.997 回答