1
我有正在使用的Objective-C语句定义的一些宏的一个项目,像这样:Objective-C的宏,如果
#define TEST [someObject someNumber] == 500
我需要根据这个结果来定义的另一个值,如下所示:
#if TEST
#define THING = 1
#else
#define THING = 2
#endif
但是,这是行不通的。而且我不能使用#ifdef TEST
,因为这个值总是被定义的。即使它是false
,它仍然被定义。
TEST
基于ObjC语句,似乎预处理器无法评估它。那么,有没有办法测试这个?
预处理器能否在运行时知道'[someObject someNumber]的值? – Willeke
预处理器能否在构建时知道[someObject someNumber]的值? – Vincent
也许吧。一旦运行时启动,它应该知道这个值。如果有,我怎么知道?我将如何使用它? – ABeard89