Почему NSInteger вместо NSUInteger в "numberOfSectionInTableView:"?

Метод источника данных UITableView numberOfSectionsInTableView: имеет тип возврата NSInteger, Однако UITableView не может иметь отрицательное количество строк; в нем 0 или более строк, так почему же возвращается тип NSInteger? Разве это не учитывает сбои, связанные с возвращаемым отрицательным целым числом?

1 ответ

Решение

Вы не можете сделать проверку (if var < 0) return; с целым числом без знака. Это стандартная причина предпочтения одного. На самом деле единственная причина использовать целое число без знака, если вам нужно дополнительное место для больших цифр, и вы можете гарантировать, что ввод никогда не будет меньше нуля.

Другие вопросы по тегам