Почему NSInteger вместо NSUInteger в "numberOfSectionInTableView:"?
Метод источника данных UITableView numberOfSectionsInTableView:
имеет тип возврата NSInteger
, Однако UITableView не может иметь отрицательное количество строк; в нем 0 или более строк, так почему же возвращается тип NSInteger? Разве это не учитывает сбои, связанные с возвращаемым отрицательным целым числом?
1 ответ
Решение
Вы не можете сделать проверку (if var < 0) return;
с целым числом без знака. Это стандартная причина предпочтения одного. На самом деле единственная причина использовать целое число без знака, если вам нужно дополнительное место для больших цифр, и вы можете гарантировать, что ввод никогда не будет меньше нуля.