誰かが何かを説明できるのだろうか、私は 10 から 0 まで逆にカウントしたいループをセットアップしました:
for(NSUInteger index = 10; index >= 0; index--) {
NSLog(@"INDEX: %ld", (long)index);
}
このループは永遠に実行され、0 で停止することはありませんが、負の数になり続けます。これに気づいたとき、コードを次のように変更しました。
for(NSInteger index = 10; index >= 0; index--) {
NSLog(@"INDEX: %ld", (long)index);
}
上記は正常に動作しますが、生成された数値はすべて符号なし整数であるため、最初の例が機能しないのはなぜですか?