sábado, 9 de junio de 2012

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!!!!!!

No hay comentarios:

Publicar un comentario