Почему существует NSInteger?
Если NSInteger
точно так же, как обычный int
, то почему он существует и какова его цель в вызове NSInteger
Я новичок в программировании на Mac OS X, и у нас будет отчет для этого.
Ответы
Ответ 1
Это безопасный для архитектуры (от 64 до 32 бит) тип для поддержки разных платформ и реализации C.
Apple рекомендует использовать NSInteger
по нормальным типам в любом случае, я бы предположил для переносимости!
Подробнее об этом можно узнать в Справочник типов источников.
Основное описание:
При создании 32-разрядных приложений, NSInteger - это 32-разрядное целое число. 64-разрядное приложение рассматривает NSInteger как 64-битное целое число.
Ответ 2
Кроме того, что typedef отличается в разных системах (long
в 64-битных системах, int
на 32-битной основе), не так уж много причин.
Возможно, создается впечатление, что NSInteger
является объектом, если он не является.
Ответ 3
NSInteger будет 4 байта на 32-битной машине и 8 на 64-разрядной версии.