0

我正在尝试在文件中编写这段代码pch
#define someString
if(x == 5) {
if(y == 7) {
someString = @"Test1"
}
else {
someString = @"Test2"
}
}
else {
someString = @"TEST3"
}

但无济于事..有人可以帮忙吗?

ps 我不想用这个符号来写它: (x == 5) ?@“test1”:@“test3”</p>

4

1 回答 1

2

您可以为此使用#if、#elif 和#else 指令。请参阅以下示例代码。

#define XVALUE 5
#define YVALUE 7

#if defined(XVALUE) && XVALUE == 5
    #if defined(YVALUE) && YVALUE == 7
        #define someString @"Test1"
    #else
        #define someString @"Test2"
    #endif
#else
    #define someString @"Test3"
#endif

您可能想要制作可以替换一些内联代码的函数,从而产生一个字符串值,如下所示:

#ifdef __OBJC__
static inline NSString* SomeStringInline(int xValue, int yValue)
{
    if(xValue == 5)
    {
        if (yValue == 7) {
            return @"Test1";
        }
        else
        {
            return @"Test2";
        }
    }
    else
    {
        return @"Test3";
    }
}
#endif

你从 like 调用这个方法

 NSLog(@"%@", SomeStringInline(5, 7));

输出将是“Test1”。

使用适合您的任何套件。

有关宏的更多帮助:

于 2014-01-28T06:34:30.047 回答