2011-08-26 36 views
18

我需要添加此调用分期里面多了一个条件..如何在#ifdef中写入条件。为分期。在Objective-C

如何做到这一点在这种情况下。

#ifdef MYAPP_PRODUCTION 
     buildMode = @"Production"; 
    #else 

    #ifdef MYAPP_RELEASE 
     buildMode = @"Release"; 
    #else MYAPP_DEBUG 
     buildMode = @"Debug"; 
    #endif 
    #endif 

另一个是MyApp_Staging必要在这一点,如果条件如何做到这一点?

回答

55

你可以做这样的事情来包含所有不同的选项,包括新的切入模式,使整个声明清洁:

#ifdef MYAPP_PRODUCTION 
    buildMode = @"Production"; 
#elif MYAPP_RELEASE 
    buildMode = @"Release"; 
#elif MYAPP_DEBUG 
    buildMode = @"Debug"; 
#elif MYAPP_STAGING 
    buildMode = @"Staging"; 
#endif 
48

你的问题不是很清楚......如果你想在多个条件一个的#ifdef,这里是一个解决方案:

#if defined(MYAPP_RELEASE) && defined(MyApp_Staging) 
    // ... 
#else 
    // ... 
#endif 
+1

完美!正是我在寻找的东西,即使它不是OP想要的东西 – DonnaLea

+3

||也可以:)#如果已定义RELASE ||定义的分段 –

2

在夫特和Xcode的图7中,语法已更改:

#if DEBUG || RELEASE 
    let URL = "https://www.example.com/beta" 
#elseif APPSTORE 
    let URL = "https://www.example.com/prod" 
#endif 
0

如果您想取消2个构建目标的条件,请使用像这样的方法。

#if !(TOWNTALK || EPISD)