Como el título dice que quiero preguntar acerca de los tipos de datos fundamentales en objetivo-c en iPhone. ¿Hay alguna buena documentación donde se escriba esto? Necesito el tamaño en que se representa la variable y el rango de la variable. Entonces en el ejemplo: short int - 2 bytes - signed: -32768 to 32767 and unsigned: 0 to 65535 Esto es solo un ejemplo. Entonces, si alguien conoce un sitio, escríbalo aquí. :)Tipos en objetivo-c en iPhone
Respuesta
Este es un buen resumen:
http://reference.jumpingmonkey.org/programming_languages/objective-c/types.html
o ejecutar este código:
32 bits proceso:
NSLog(@"Primitive sizes:");
NSLog(@"The size of a char is: %d.", sizeof(char));
NSLog(@"The size of short is: %d.", sizeof(short));
NSLog(@"The size of int is: %d.", sizeof(int));
NSLog(@"The size of long is: %d.", sizeof(long));
NSLog(@"The size of long long is: %d.", sizeof(long long));
NSLog(@"The size of a unsigned char is: %d.", sizeof(unsigned char));
NSLog(@"The size of unsigned short is: %d.", sizeof(unsigned short));
NSLog(@"The size of unsigned int is: %d.", sizeof(unsigned int));
NSLog(@"The size of unsigned long is: %d.", sizeof(unsigned long));
NSLog(@"The size of unsigned long long is: %d.", sizeof(unsigned long long));
NSLog(@"The size of a float is: %d.", sizeof(float));
NSLog(@"The size of a double is %d.", sizeof(double));
NSLog(@"Ranges:");
NSLog(@"CHAR_MIN: %c", CHAR_MIN);
NSLog(@"CHAR_MAX: %c", CHAR_MAX);
NSLog(@"SHRT_MIN: %hi", SHRT_MIN); // signed short int
NSLog(@"SHRT_MAX: %hi", SHRT_MAX);
NSLog(@"INT_MIN: %i", INT_MIN);
NSLog(@"INT_MAX: %i", INT_MAX);
NSLog(@"LONG_MIN: %li", LONG_MIN); // signed long int
NSLog(@"LONG_MAX: %li", LONG_MAX);
NSLog(@"ULONG_MAX: %lu", ULONG_MAX); // unsigned long int
NSLog(@"LLONG_MIN: %lli", LLONG_MIN); // signed long long int
NSLog(@"LLONG_MAX: %lli", LLONG_MAX);
NSLog(@"ULLONG_MAX: %llu", ULLONG_MAX); // unsigned long long int
cuando se ejecuta en un iPhone 3GS (El iPod Touch y los iPhones más antiguos deben arrojar el mismo resultado) obtienes:
Primitive sizes:
The size of a char is: 1.
The size of short is: 2.
The size of int is: 4.
The size of long is: 4.
The size of long long is: 8.
The size of a unsigned char is: 1.
The size of unsigned short is: 2.
The size of unsigned int is: 4.
The size of unsigned long is: 4.
The size of unsigned long long is: 8.
The size of a float is: 4.
The size of a double is 8.
Ranges:
CHAR_MIN: -128
CHAR_MAX: 127
SHRT_MIN: -32768
SHRT_MAX: 32767
INT_MIN: -2147483648
INT_MAX: 2147483647
LONG_MIN: -2147483648
LONG_MAX: 2147483647
ULONG_MAX: 4294967295
LLONG_MIN: -9223372036854775808
LLONG_MAX: 9223372036854775807
ULLONG_MAX: 18446744073709551615
64 proceso de bits:
The size of a char is: 1.
The size of short is: 2.
The size of int is: 4.
The size of long is: 8.
The size of long long is: 8.
The size of a unsigned char is: 1.
The size of unsigned short is: 2.
The size of unsigned int is: 4.
The size of unsigned long is: 8.
The size of unsigned long long is: 8.
The size of a float is: 4.
The size of a double is 8.
Ranges:
CHAR_MIN: -128
CHAR_MAX: 127
SHRT_MIN: -32768
SHRT_MAX: 32767
INT_MIN: -2147483648
INT_MAX: 2147483647
LONG_MIN: -9223372036854775808
LONG_MAX: 9223372036854775807
ULONG_MAX: 18446744073709551615
LLONG_MIN: -9223372036854775808
LLONG_MAX: 9223372036854775807
ULLONG_MAX: 18446744073709551615
Tenga en cuenta que también se puede utilizar el C99 tipos de anchura fija perfectamente en Objective-C:
#import <stdint.h>
...
int32_t x; // guaranteed to be 32 bits on any platform
El wikipedia page tiene un decente descripción de lo que está disponible en este encabezado si no tiene una copia del estándar C (debería hacerlo, ya que Objective-C es solo una pequeña extensión de C). También puede encontrar los encabezados limits.h
y inttypes.h
para ser útiles.
También hay SInt32, UInt32, etc. (se usa mucho en Core Audio). –
actualización para el nuevo arco de 64 bits
Ranges:
CHAR_MIN: -128
CHAR_MAX: 127
SHRT_MIN: -32768
SHRT_MAX: 32767
INT_MIN: -2147483648
INT_MAX: 2147483647
LONG_MIN: -9223372036854775808
LONG_MAX: 9223372036854775807
ULONG_MAX: 18446744073709551615
LLONG_MIN: -9223372036854775808
LLONG_MAX: 9223372036854775807
ULLONG_MAX: 18446744073709551615
- 1. objetivoC/CMTime - convierte AVPlayer.duration en milisegundos
- 2. Diferentes tipos de tipos de CATransition disponibles en el iPhone sdk
- 3. tipos de archivos asociados para vCard con una aplicación iPhone
- 4. aplicaciones web para iPhone y tipos de entradas específicos
- 5. ¿Qué tipos de letra admiten las aplicaciones de iPhone?
- 6. Tipos recursivos en OCaml?
- 7. Tipos anidados en clojure?
- 8. tipos coincidentes en scala
- 9. Tipos en Bytecode
- 10. GetType en tipos genéricos
- 11. ¿Cómo almacena el sistema de Data Core del iPhone SDK los tipos de fecha en sqlite?
- 12. clases de tipos en los tipos de datos de Haskell
- 13. Teoría de tipos: tipos de tipos
- 14. Tipos MIME múltiples en Android
- 15. Convert.ChangeType() falla en tipos anulables
- 16. Aumento de tipos en JavaScript
- 17. Cobertura Emma en Enum tipos
- 18. Conversión entre tipos en Haskell
- 19. Tipos de índice en oráculo?
- 20. Tipos y clases en Python
- 21. Haskell novato en los tipos
- 22. Tipos inductivos parametrizados en Agda
- 23. Comparación de tipos en VB.NET
- 24. Opcional [Obligatorio] en tipos complejos
- 25. Seguridad de tipos en Python
- 26. C# polimorfismo en tipos genéricos
- 27. Tipos reenviados en Microsoft Unity
- 28. limitantes tipos genéricos en C#
- 29. AVAssetExportSession falla en iPhone 3G, pero no en iPhone 4
- 30. Acción en UILabel en iphone
Tenga en cuenta que con el lanzamiento del SDK de iOS 7, algunos tipos son más grandes en el modo de 64 bits. – JeremyP
Actualizado para proceso de 64 bits – jjxtra
Respuesta impresionante realmente útil. Aunque es divertido, en Swift puedes declarar una "var" y dejarla en ese jaja :) –