Если вы используете NSInteger вместо NSUInteger это становится немного проще. Поскольку NSInteger является знаковым целочисленным типом, вызов оператора декремента (--
) на переменном с нулевым значением изменяет значение -1, так что вы можете проверить это с помощью простого сравнения:
for (NSInteger row = 10; row >= 0; row--) {
// do stuff with row
}
Если у вас есть для использования NSUInteger по какой-либо причине, то вызов оператора декремента переменной с нулевым значением приведет к тому, что значение переменной обернется до максимально возможного значения для NSUInteger. Вы можете проверить это, используя NSUIntegerMax
.
for (NSUInteger row = 10; row != NSUIntegerMax; row--) {
// do stuff with row
}
Почему бы не использовать NSInteger? – MByD
По определению эти индексы не должны быть отрицательными, поэтому использование NSUInteger связывает семантическое намерение. –