objective c - objective - ¿Por qué hay un NSInteger?
objective c vs swift (3)
Si NSInteger
es como un int
regular, ¿por qué existe y cuál es su propósito al ser llamado NSInteger
?
Soy nuevo en la programación de Mac OS X y tendremos un informe para esto.
Aparte de que typedef es diferente en diferentes sistemas ( long
en sistemas de 64 bits, int
en 32 bits), no hay mucha razón.
Podría decirse que da la impresión de que un NSInteger
es un objeto, cuando no lo es.
Es un tipo de arquitectura segura (64 vs 32 bits) para soportar diferentes plataformas e implementaciones de C.
Apple recomienda que uses NSInteger
sobre los tipos normales de todos modos, ¡lo asumiría por portabilidad!
Puedes leer más en esta Referencia de Tipos de Fundamentos .
Descripción básica:
Al crear aplicaciones de 32 bits, NSInteger es un entero de 32 bits. Una aplicación de 64 bits trata a NSInteger como un entero de 64 bits.
Un NSInteger tendrá 4 bytes en una máquina de 32 bits y 8 en una de 64 bits.