Tipos escalares
- int Valor entero comprendido entre +/- 2.147.483.647.
- float Valor en coma flotante comprendido entre +/- 16.777.216.
- double Valor en coma flotante comprendido entre +/- 2.147.483.647
- long Valor entrero con un tamaño que varia entre 32 bits y 64 bits, dependiendo de la arquitectura
- long long Valor entero de 64 bits.
- char Un unico caracter. Tecnicamente se representa como un int
- BOOL Valor booleano, que puede tener los valores SI o NO.
- NSInteger Cuando se compila en una arquitectura de 32 bits es lo mismo que un int, y cuando se hace en 64 bits puede tener un valor comprendido entre 0 y 2^64.
- NSUInteger Cuando se compila en una arquitectura de 32 bits es lo mismo que un unsigned int y cuando se hace en 64 bits puede tener un valor comprendido entre 0 y 2^64.
La forma de declarar e inicializar una variable es:
Tipo Nombre =
valor;
ej: int numeroEntero = 2;
Podemos ver un ejemplo en:
Tipos de variables
Otros tipos de datos son:
- NSString Cadena de caracteres
Ej: NSString *cadena = @"cadena de caracteres";
Se
declara con el
* delante ya que es un
objeto, y estamos apuntando a su posicion de memoria.
Se
inicializa con el
@ delante ya que es una forma abreviada de hacerlo.
EJ: cadena = [NSString stringWithFormat: @"Entero: %i", entero];
Es una forma de asignar valor al string concatenando variables
- NSArray
- NSMutableArray Coleccion ordenada de objetos accesibles mediante un indice
en un
NSArray NO podemos
añadir nuevos elementos.
Ej: NSArray *array = [[NSArray alloc] initWithObjects:@"Texto 1", @"texto2", nil];
Hay que poner un
nil (nulo) al final para avisar de que el
array termina ahi,
El alloc se usa para reservar el espacio en memoria
Si solo quisieramos declararlo sin datos:
NSArray *array = [[NSArray alloc] init];
Ej: NSMutableArray *mutableArray = [[NSMutableArray alloc] init];
[mutableArray addObject:@"texto 1"];
Es la forma de
añadir nuevos objetos al
MutableArray, al
array NO se puede
- NSDictionary
- NSMutableDictionary Nos permite crear estructuras de datos sin necesidad de crear subclases
Con el Dictionary pasa lo mismo que con el array, si no es mutable no se puede modificar a posteriory
Ej: NSDictionary *diccionario = [[NSDictionary alloc] initWithObjectsAndKeys:cadena, @"int",nil];
NSLog(@"%@" ,[diccionario objectForKey:@"int"]);
NSMutableDictionary *mutableDictionary = [[NSMutableDictionary alloc] init];
[mutableDictionary setObject:cadena forKey:@"String"];
[mutableDictionary setObject:cadena forKey:@"String2"];
[mutableDictionary setObject:cadena forKey:@"String3"];
NSLog(@"%@",mutableDictionary);
Imprime el dictionary entero