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