2016-09-28 50 views
1

我不知道這是什麼時候開始的,但它看起來像Xcode不給我類型不匹配的警告/錯誤,像以前一樣。例如,我剛剛在我的代碼中發現了一個錯誤,我將一個方法的結果分配給NSString *,返回到NSInteger。方法原型已被正確定義,但編譯器沒有給出警告。下面是代碼:Xcode 8沒有警告分配NSString NSInteger?

+ (NSString *)countryDialPrefix; 

NSInteger prefix = [CountryCodes countryDialPrefix]; 

這裏是所有語言設置警告:

Apple LLVM 8.0 - Warnings - All languages

+0

您應該分享一個不會產生該警告的示例。在我的代碼中,我得到了「警告:不兼容指針整數轉換初始化'NSInteger'(又名'長')與類型'NSString * __ strong'[-Wint-conversion]」的表達式。這是由「隱式整數到指針轉換」選項控制的。如果你演員演員或類似演員,可以抑制警告。 – Rob

+0

我在Xcode 8.0(8A218a)中修改後的問題中嘗試了代碼示例,並且打開了「隱式整數到指針轉換」,我看到了上面描述的警告。我建議你嘗試用一個[可重現的小問題示例](http://stackoverflow.com/help/mcve)創建一個新項目,因爲我無法重現你描述的行爲。也許在你的項目中引起這種行爲是有好奇心的。 – Rob

回答

1

這是在 「等警示標誌」 在項目層面:

-w -Xanalyzer -analyzer-disable-checker -Xanalyzer unix

所以我刪除了-w,並修復了它。