【发布时间】:2015-10-21 09:57:35
【问题描述】:
我有如下声明的字符串常量。此代码编译器在正常的应用程序调试和发布目标中。但是在应用程序的测试目标(Ctrl + U)中,我在测试目标的程序中遇到了意外的“@”错误。使用 xcode 7。
模块已启用,如 this question 中的回答。
HeaderA.h
#define URL_A "http://www.example.com/service"
HeaderB.h
#define URL_AC @URL_A
这里出现错误,程序中出现意外的“@”。扩展自宏 @URL_AC
模块已启用,如 this question 中的回答。
在 .m 文件中用作,
NSURL * url = [NSURL URLWithString:URL_AC];
偶数声明
#define URL_AC @"https://www.example.com/service?format=json"
得到“使用未声明的标识符 URL_AC”编译器错误。
【问题讨论】:
-
请说明
URL_AC的使用情况。 -
已在问题中更新。
-
所以你有两个错误?
-
我有两种不同的定义形式。第一个带有 C 字符串的形式得到@错误,第二个形式直接 @"" 定义我得到了第二个错误。所以我猜测试目标可能对字符串文字有一种误解!
-
您需要使用stringification 才能在另一个宏中引用一个宏。第二个错误似乎表明
HeaderB.h没有被导入。
标签: ios objective-c xcode xctest