2016-01-21 80 views
0

現在我正在學習swift,當我使用if-else時,Xcode顯示我有一個warniing「不會被執行」。雖然這不是一個大問題,但我不想看到這個,怎麼可能我在項目中清除了這個警告?如何清除「永遠不會被執行」的迅速警告?

+5

你能粘貼一些代碼,以便我們可以幫你嗎? –

回答

2

這是來自邏輯錯誤,編譯器已經拿起並警告你。

它給出了您的代碼中永遠無法達到的行號。

一)更改代碼的),刪除或註釋掉的代碼行永遠不能達到

編譯器不會給此消息不必要

例如邏輯

b

if 1 == 2 { 
    a = 3 
} 

else { 
    a = 4 
} 

顯然條件從未滿足,a = 3的分配永遠不會發生。

0

蘋果的LLVM編譯器是相當冗長時,它會告訴你有關的警告 - 如果你檢查日誌,你會發現這樣的: warning: will never be executed [-Wunreachable-code]

所以要suppres的警告,你需要設置標誌-Wno-unreachable-code。這適用於ObjC編譯器,但目前不支持Swift編譯器

+2

這個答案留下了程序中的代碼和錯誤。代碼行永遠不會到達,並且仍然是不必要的。這給將來需要修改或更正代碼的程序員增加了維護負擔。我不會在我的商店允許這個解決方案,它會被一個體面的代碼審查拒絕,並且永遠不會投入生產。 – ChrisR

+0

這個答案不正確。 Swift編譯器目前不支持'-Wno-unreachable-code'或任何其他基於標誌的警告取消激活。 –

+0

我絕對同意這樣的警告不應該被壓制,但如果你真的想,那麼你就是這麼做的。和@JackLawrence,我是對的,swift目前不支持它 –

1

let a = 3; 讓b = 4;

如果(A == 3){

打印( 「執行」)

}

否則如果(A == 5){

打印(「永不被執行「)

}

其他 {

打印( 「不執行」)

}

相關問題