Aprendiendo Objetive-C para ios (Dia 2)

Guion del blog de curso de Objetive-C para IOS – DIA 2
————-
En esta parte, voy a repasar el tema de las sentencias de control, asi como el uso de Array y MutableArray, y vamos a crear un objeto nuevo, para repasar asi como se establecen en objetive-c las propiedades de un objeto.

————
Seguimos en el viewDidLoad de ViewControler.m
Vamos a ver sentencias de control, así como objetos
————————-
Crearemos también un objeto, llamado originalmente «Objeto», de manera que tendremos dos ficheros nuevos, Objeto.m y Objeto.h
Esto quedaran así:
————————–
//
//  Objeto.h
//  diario002
//
//  Created by david fraj blesa on 09/06/12.
//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface Objeto : NSObject{
    //Creamos Variable dentro de nuestro objeto
    NSString *nombre;
    NSString *apellidos;
    NSString *telefono;
    int edad;
    NSDate *fecha;
    NSNumber *precio;
}
//Creamos sus propiedades (Getter y Setters)
//Esto sirve para saber como vamos a dar o devolver valores.
@property (nonatomic, copy) NSString *nombre;
@property (nonatomic, copy) NSString *apellidos;
@property (nonatomic, copy) NSString *telefono;
@property (nonatomic, copy) NSDate *fecha;
@property (nonatomic, copy) NSNumber *precio;
//Las propiedades de edad, las ponemos a mano
-(int) edad;
-(void) setedad:(int)x;
@end
————————–
//
//  Objeto.m
//  diario001
//
//  Created by david fraj blesa on 09/06/12.
//  Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//
#import «Objeto.h»
@implementation Objeto
//Directamente con esto, creamos los getter y setters de cada uno.
@synthesize nombre, apellidos, telefono, fecha, precio;
//Si quisieramos hacerlo a mano, podria quedar asi:
//Establecemos la propiedad a mano de edad:
-(int)edad{
    return edad;
}
-(void)setedad:(int)x{
    edad=x;
}
@end
————————-
– (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    /*EMPIEZA EL CODIGO POR DAVID FRAJ BLESA*/
    //Vamos alla con las estructuras de control:
    //Estructura de control condicional:
    NSInteger num=10;
    if(num>10){
        NSLog(@»El numero es mayor»);
    }else{
        NSLog(@»El numero no es mayor»);
    }
    
    //Estructura de control de tipo while
    num=0;
    while(num<10){
        NSLog(@»El numero es %i», num);
        num++;
    }
    
    //Estructura de control de tipo for:
    for(num=0;num<10;num++){
        NSLog(@»El numero es %i», num);
    }
    
    //Vamos a ver como usar un vector de numeros
    //Declaramos un array ESTATICO, y lo inicializamos directamente con varios NSStrings
    //Para eso hemos reservado memoria, y lo hemos inicializado con initWithObjects.
    //El primer indice, sera el 1
    //Es obligatorio, que el ultimo elemento sea nil, para que xcode se entere que no queremos
    //meter mas elementos.
    NSArray *vector=[[NSArray alloc] initWithObjects:@»uno», @»dos», @»tres», nil];
    
    //Creamos un bucle for, para recorrer el vector, y mostrar los elementos, segun
    //su indice introducido.
    for(int i=0;i<[vector count];i++){
        NSLog(@»La cadena es: %@», [vector objectAtIndex:i]);
    }
    
    //CON NSArray, NO podemos añadir mas objetos. Para eso usamos NSMutableArray
    
    //Creamos un vector Mutable:
    NSMutableArray *vector2=[[NSMutableArray alloc] initWithObjects:@»uno», @»dos», @»tres», nil];
    
    //Hasta ahora es igual, pero ahora vamos a añadir nuevos elementos de forma dinamica
    [vector2 addObject:@»cuatro»];
    [vector2 addObject:@»cinco»];
    
    //De igual forma podemos quitar elementos
    [vector2 removeObjectAtIndex:3];
    
    //o podemos insertar elementos en una posicion concreta
    [vector2 insertObject:@»cero» atIndex:0];
    
    //mostramos el vector 2:
    NSLog(@»Mostramos vector2:»);
    NSLog(@»——————«);
    for(int i=0;i<[vector2 count];i++){
        NSLog(@»La cadena es: %@», [vector2 objectAtIndex:i]);
    }
    
    //Ahora voy a crearme un objeto , que derivara de NSObject (Como casi todo aqui)
    //Para eso, me voy al new file -> Elijo objetive-c class -> Le pongo de nombre
    // Objeto, y creara el archivo Objeto.m y Objeto.h
    
    //Para usar dicho objeto:
    //nota: arriba importamos el objeto con una linea, quedando asi:
    //Debajo de: #import «ViewController.h»
    //Escribimos esto: #import «Objeto.h»
    
    //Creamos un objeto
    Objeto *david=[[Objeto alloc] init];
    
    //Dos formas de poner un string
    [david setNombre:@»David»];
    david.nombre=@»David»;
    
    [david setApellidos:@»Fraj Blesa»];
    [david setTelefono:@»555123456″];
    
    [david setedad:34];
    
    //Para la fecha vamos a crear una fecha, que guarde la de ahora mismo
    NSDate *ahora=[[NSDate alloc] init];
    
    [david setFecha:ahora];
    
    //Vamos a escribir por pantalla informacion guardada en el objeto.
    
    NSLog(@»Los datos: %@, %@, %@, %i», [david nombre], [david apellidos], david.telefono, [david edad]);
    
    /*Fin del CODIGO POR DAVID FRAJ BLESA*/
}
Eso es todo por ahora!!!!!!