如何清除快速警告“永远不会被罚款”?

时间:2016-01-21 07:37:01

标签: swift

现在我正在学习swift,当我使用if - else时,Xcode告诉我一个warniing“将不会被解雇”。尽管这不是一个大问题,我不想看到这个,怎么样我可以在项目中清除此警告吗?

3 个答案:

答案 0 :(得分:2)

这是由编译器已经接收到的逻辑错误引起的。

它提供了代码中永远无法访问的行号。

a)更改代码的逻辑

b)删除或注释掉永远无法到达的代码行

编译器不会不必要地提供此消息

示例

if 1 == 2 {
  a = 3
}

else {
  a = 4
}

显然,条件永远不会满足,a = 3的分配永远不会发生。

答案 1 :(得分:1)

let a = 3;
let b = 4;

if (a == 3) {
    print("executed")
} else if (a == 5) {
    print("never be executed")
} else {
    print("not executed")
}

答案 2 :(得分:0)

Apple的LLVM编译器在告诉您有关警告时非常详细 - 如果您检查日志,您会发现以下内容: warning: will never be executed [-Wunreachable-code]

因此,为了抑制该警告,您需要设置标志-Wno-unreachable-code。这适用于ObjC编译器,但Swift编译器目前不支持