2016-06-23 12 views
4

Почему не Array.count a UInt вместо Int?Почему нет Array.count UInt?

Как мог Array.count быть отрицательным?

+1

Связанный: [Почему руководство по языку Swift предлагает использовать Int «даже если значения, как известно, являются неотрицательными»?] (Http://stackoverflow.com/questions/24180630/why-does-the- swift-language-guide-suggest-using-int-even-when-values-are-known) –

+0

Пример для простой ловушки, если вы работаете с целыми целыми знаками: http://stackoverflow.com/questions/37928520/swift-unexpected -ошибка-в-простой, если-заявление. –

ответ

4

Из документации компании Apple на Swift типов here:

ПРИМЕЧАНИЕ

Используйте UInt только тогда, когда нужно специально беззнаковое целое число типа с таким же размером, как родной размер слова платформы. Если это не так, Int является предпочтительным, даже если значения, которые необходимо сохранить, являются неотрицательными. Согласованное использование Int для целочисленных значений помогает взаимодействовать с кодами, избегает необходимости конвертировать между разными типами чисел и соответствует выводу целочисленного типа, как описано в разделе «Безопасность типа и тип ввода».