gpt4 book ai didi

ios - 如何在宏(define)中使用if else?

转载 作者:行者123 更新时间:2023-11-29 00:17:38 28 4
gpt4 key购买 nike

我应该将 Live 和 Dev URL 分开。所以,我写了这段代码

#define _APP_MODE @"real"

#if APP_MODE == dev
#define _BASE_URL @"http://devmall.aaa.com/m/app/"
#define _URL_FROM_SAFARI @"http://devmall.safari.com"
#else
#define _BASE_URL @"http://m.aaa.com/m/app/"
#define _URL_FROM_SAFARI @"http://m.safari.com"

但它总是返回 dev_url

确保 URL 由 APP_MODE 分隔的最佳方法是什么?

最佳答案

字符串在 objC 预处理器 AFAIK 中不起作用

... 另见 how to compare string in C conditional preprocessor-directives


我会做的(而且很常见)是使用整数

#import <Foundation/Foundation.h>

#define DEV 0
#define REAL 1

#define APP_MODE REAL

#if APP_MODE == DEV
#define BASE_URL @"http://devmall.aaa.com/m/app/"
#define URL_FROM_SAFARI @"http://devmall.safari.com"
#else
#define BASE_URL @"http://m.aaa.com/m/app/"
#define URL_FROM_SAFARI @"http://m.safari.com"
#endif

int main(int argc, char *argv[]) {
@autoreleasepool {
NSLog(BASE_URL);
}
}

注意:去掉所有奇怪的下划线 :)) [如果可以]

关于ios - 如何在宏(define)中使用if else?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44900285/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com