lunes, 23 de diciembre de 2013

Tipos de variables en IOS

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

Podemos ver un ejemplo en:
Otros Tipos de variables