1
これがいつ始まったのか分かりませんが、Xcodeが私に型不一致の警告/エラーを与えていないように思えます。たとえば、NSString *
を返すメソッドの結果をNSInteger
に代入していたコードで、バグが見つかりました。メソッドのプロトタイプは正しく定義されていますが、コンパイラは警告を出しませんでした。ここでは、コードは次のようになります。ここではXcode 8 NSStringをNSIntegerに割り当てる警告はありませんか?
+ (NSString *)countryDialPrefix;
NSInteger prefix = [CountryCodes countryDialPrefix];
は、すべての言語に設定された警告です:
警告を生成していない例を共有する必要があります。私のコードでは、「NSString * __ strong '[-Wint-conversion]」の式で「NSInteger」(別名「long」)を初期化する整数変換への警告:互換性のない警告が表示されます。そしてそれは "Implicit Integer to Pointer Conversions"オプションによって制御されます。キャストなどをすると、警告が表示されなくなります。 – Rob
Xcode 8.0(8A218a)の修正された質問でコードサンプルを試しましたが、この "Implicit Integer to Pointer Conversions"をオンにすると、上記の警告が表示されます。あなたが記述した振る舞いを再現することができないので、[問題の小さな再現可能な例](http://stackoverflow.com/help/mcve)で新しいプロジェクトを作成してみることをお勧めします。おそらく、あなたのプロジェクトに興味があり、この動作を引き起こしているかもしれません。 – Rob