Разница для абстрактных типов и их ассоциированных, измеренных от аппаратного обеспечения.Таким образом, теперь нам не нужно беспокоиться о том, какой размер у int или насколько велик его указатель на каком-либо конкретном оборудовании.
«C» в этом плох, только заявляя, что long имеет значениепо меньшей мере такой же большой, как int, что int - это «естественный» целочисленный размер аппаратного обеспечения (что бы это ни значило), а int - это, по крайней мере, столько же, сколько и short - a (большой беспорядок).
Это казалось хорошей идеей в то время, пришедшее из Фортрана, но не очень хорошо устарело.
Можно использовать определения POSIX, такие как uint32_t, int16_t и т. Д. Но это не относится к тому, насколько велик указательлибо на любом конкретном оборудовании.
Итак, если Apple определяет тип возвращаемого значения как NSUInteger, вы просто используете его, и вам не нужно знать, имеет ли он размер 16, 32 или 64 бита.для вашего конкретного оборудования.(Я выбрал эти значения из эфира только для примера).
Как вы можете видеть в @Bastian, фактический размер зависит от аппаратного обеспечения.
Документация отвечает на "букву"вопроса "но не дает понимания" почему "?