【发布时间】:2019-03-12 15:19:17
【问题描述】:
在 Swift 中使用 #if、#endif(使用 Xcode)如果切入操作流程会产生错误。这张截图说明了一切:
有没有人知道一个解决方案可以使这个例子工作,而不用重复整个代码块两次?很容易出现整个块可能非常大的情况。
编辑:我的示例有点太简单了。这是一个新示例,其中“else if”取决于相同的定义(DEBUG)。 “else if”也必须在#if 和#endif 内。其他样本可能比这复杂得多。
【问题讨论】:
-
与
C/Objective C不同,#关键字不是由pre-processor解析,而是由与swift代码的其余部分相同的解析器解析。所以它们必须遵循相同的句法规则,不能直接切入代码。 -
邮政编码而不是截图。
-
我听到你在说什么 user28434。这是一个真正的限制。我希望有人有办法让它在不重复大量代码的情况下工作。
-
Dharmesh,我使用了一个屏幕截图,这样它也会显示 Xcode 显示的错误。我本可以说明错误,但有时一张图片会让事情更清楚。
标签: swift xcode preprocessor compiler-directives