メソッドの戻り値の型の型のコードを変更したばかりで、コンパイラが警告を表示していて、不一致が検出された場合はどこでも見つけて修正できます。しかし、警告はありません。私の設定では、すべてのビルドタイプで「不一致の戻り値の型」がすでに「はい」であることが判明したので、「はい(エラーとして扱う)」に変更して再構築しました。ビルド結果にまだ何も表示されません。不一致の戻り値の型に対して警告(またはエラー)を生成するXcodeを取得するにはどうすればよいですか?
「警告をエラーとして扱う」を「はい」に変更したところ、いくつかの有用なエラーメッセージが表示されましたが、不一致の警告は表示されませんでした。おそらく私はコンパイラとObjective-Cの戻り値の型について何かを理解していないかもしれませんが、boolはNSNumber *を返さなければならないと指定しても受け入れられないはずです。
は、ここに私のコードです:
+(NSNumber*) compilerCompletelyFineWithThis
{
if ([m_session tryThis])
{
return [m_session goGetSumthin];
}
else
return false;
}
ドキュメントが不一致の戻り値の型がGCC_WARN_ABOUT_RETURN_TYPEに関連付けられていることを示唆しているが、これは強制ルール何それは明らかではありません。
自分のビルド設定の警告セクションの下の図では、関連する設定に注目しています。私は "警告としてエラーを処理する"と "不一致の戻り型"をすべてのビルドで有効にしています。
Xcodeのは、私はメソッド定義と呼び出し元のコードとの間の契約のこの種を違反していたときに私が知っているように取得する方法はありますか?
私はちょうど同じ基本情報を投稿する準備ができました。 – rmaddy
そうです。必要な時に技術はどこにありますか?私はこれらのミスマッチのすべてのインスタンスを今すぐ削除する必要があります。ありがとう。 – Alyoshak