我只是在方法的返回類型的類型中進行了代碼更改,並且指望編譯器顯示警告,以便在現在發生不匹配的地方找到並修復這些警告。但沒有警告。在我的設置中,我發現對於所有構建類型,「不匹配返回類型」已經爲「是」,所以我決定將其更改爲「是(視爲錯誤)」並進行了重建。在構建結果中仍然沒有跡象。如何讓Xcode在不匹配的返回類型上生成警告(或錯誤)?
然後,我將「將警告視爲錯誤」更改爲「是」,併產生了一些有用的錯誤消息,但沒有不匹配的警告。也許我不明白關於編譯器和Objective-C返回類型的一些東西,但是當我的方法指定應該返回一個NSNumber *時,似乎bool不應該被接受。
這裏是我的代碼:
+(NSNumber*) compilerCompletelyFineWithThis
{
if ([m_session tryThis])
{
return [m_session goGetSumthin];
}
else
return false;
}
該文檔顯示,不匹配的返回類型與GCC_WARN_ABOUT_RETURN_TYPE相關,但什麼規則,該強制執行,目前尚不清楚。
在我的Build Settings的警告部分下面的圖片中,注意相關設置。對於我的所有版本,我都已打開「將警告視爲錯誤」和「不匹配返回類型」。
有沒有辦法讓Xcode的,讓當我違反這種方法定義和調用代碼之間的合同我知道嗎?
我剛準備發佈相同的基本信息。 – rmaddy
嘖嘖嘖嘖。當你需要它時,技術在哪裏?我必須現在搜尋所有這些不匹配的情況。謝謝。 – Alyoshak