gpt4 book ai didi

ios - 预编译器条件编译两种情况

转载 作者:行者123 更新时间:2023-11-28 06:51:59 25 4
gpt4 key购买 nike

我的应用程序中有这样的东西:

#if PRODUCTION
let code: String? = "1111"
#elseif DEMO
let code: String? = "2222"
#elseif TEST
let code: String? = "3333"
#else
let code: String? = "0000"
#endif

问题是,在具有标志 DEMOTEST 的部署目标中,我得到 Definition conflicts with previous value第 4 行和第 6 行。这怎么可能? #elseif 不应该是独占的吗?

更新

虽然很奇怪,但这是可行的:

let code: String?

#if PRODUCTION
code = "1111"
#elseif DEMO
code = "2222"
#elseif TEST
code = "3333"
#else
code = "0000"
#endif

我还有一些目标,其中只定义了 TESTPRODUCTION 并且它与以前的代码一起工作,所以我想只有可能被编译的情况才会被解析。

最佳答案

构建配置语句

Each statement in the body of a build configuration statement is parsed even if it’s not complied.

https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Statements.html

我不知道为什么 Apple 会解析 Build Configuration Statement 中的每个语句,但他们会解析,我认为这会导致问题。

关于ios - 预编译器条件编译两种情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34615232/

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