次の警告が表示されComparison of unsigned expression < 0 is always false
ます。
修正方法がわかりませんか?
if(topWindowIndex < 0)
それは次のように定義されています...
NSUInteger topWindowIndex = [allWindows count] - 1;
次の警告が表示されComparison of unsigned expression < 0 is always false
ます。
修正方法がわかりませんか?
if(topWindowIndex < 0)
それは次のように定義されています...
NSUInteger topWindowIndex = [allWindows count] - 1;
決して否定できない場合[allWindows count] - 1
は、テスト(およびそれが制御するコード)は不要です。負の値になる可能性がある場合はtopWindowIndex
、符号付きタイプ(int
またはNSInteger
)として宣言する必要があります。
より良い解決策であるIMOは、カウントを直接保存し、代わりにそれを使用することです。
NSUInteger numWindows = [allWindows count];
...
if (numWindows < 1) ...
これは危険です
NSUInteger topWindowIndex = [allWindows count] - 1;
が0の場合[allWindows count]
、topWindowIndexとして非常に大きな数(ナンセンス)を取得します。
上記の回答からの基本的な回答:
(符号なし)NSInteger
の代わりに使用します。NSUInteger