如何在编译时迅速使用#error引发错误

问题描述 投票:-1回答:1

我想在编译时在条件中抛出错误。但是#error立即引发错误。

这是我尝试过的:

var number: Int = 10 
if number < 20 {
   #error("the number is smaller than 20")

}

但是这不起作用!

ios swift
1个回答
0
投票

如@Sulthan在上面的评论中所述:

变量在编译时没有值。它仅在运行时具有值。这意味着您不能使用编译检查

因此,您试图实现的目标是不可能的。#if#elseif #endif等...是预处理器标志,可以测试的条件非常有限(例如,预处理器宏(如DEBUG)或函数(如os()arch()))。因此,在编译之前无法检查变量。

© www.soinside.com 2019 - 2024. All rights reserved.