Presentacin
Pablo Romeu
Profesor Colaborador UCH-CEU Pedro Cid Programador iPhone SDK Perteneciente a http://www.nabbel.es/
Presentacin
Qu voy a aprender?
El modelo MVC
Muchas de las funcionalidades del SDK Moverte por la documentacin para obtener ayuda
Qu voy a aprender?
Algunas Cuestiones
Algunas Cuestiones
Y la ms importante
PREGUNTAD
8
Presentacin
DUDAS
Primera Sesin
Pablo Romeu:
Introduccin al esquema de Licencias, AppStore, etc. Introduccin al iPhone SDK Xcode Interface Builder Simulador Introduccin a Objective-C
10
Primera Sesin
Pablo Romeu:
Introduccin al esquema de Licencias, AppStore, etc. Introduccin al iPhone SDK Xcode Interface Builder Simulador Introduccin a Objective-C
11
12
13
14
15
16
Recapitulando
Licencias: Standard, Enterprise, University Publicar en AppStore: Usuarios, Contratos, Enviar informacin y rezar para que esperar que aprueben la app.
Beneficios: Free (ni para ti ni para mi), iAd, InApp, de pago (70% para nosotros 30% para Apple)
Instalacin en dispositivos: mediante certificados. Limitado.
17
Primera Sesin
Pablo Romeu:
Introduccin al esquema de Licencias, AppStore, etc. Introduccin al iPhone SDK Xcode Interface Builder Simulador Introduccin a Objective-C
18
NOTA: parece ser que en la prxima versin, los primeros vendrn integrados.
19
Xcode
Interfaz grfico de programacin Se utiliza tanto para Mac OS X como para iOS Tiene algunas facilidades muy interesates como autocompletado de informacin, ayuda, etc.
20
Demo de XCODE
(abridlo vosotros tambin)
21
Interface Builder
Interfaz grfico de diseo Nos permite disear la vista de la aplicacin Adems, permite asignar grficamente qu mtodos (funciones) se ejecutarn dado un determinado evento sobre un objeto de la vista Ej: Qu funcin ejecutar al pulsar un botn? Y al mover un slider?
22
Demo de IB
(abridlo vosotros tambin)
23
Simulador
Permite probar programas Hay algunas cosas que NO puede probar (ej. GPS) Instruments: Permite hacer profiling de programas. Comprobar rendimiento, memory leaks, etc.
24
Demo de Simulador
(abridlo vosotros tambin)
25
Primera Sesin
Pablo Romeu:
Introduccin al esquema de Licencias, AppStore, etc. Introduccin al iPhone SDK Xcode Interface Builder Simulador Introduccin a Objective-C
26
Introduccin a Objective-C
27
Introduccin a Objective-C
28
Introduccin a Objective-C
29
Introduccin a Objective-C
Llamar a un mtodo:
Sin argumentos: [MiClase miMetodo]; Con un argumento: [MiClase miMetodo: arg1]; Con ms de un argumento: [MiClase miMetodo: arg1 argumento2: arg2]; (argumento2 es el nombre que se ha usado en la definicin de miMetodo)
30
Introduccin a Objective-C
Organizacin del cdigo y superclases: Como en otros lenguajes, tiene ficheros de cabecera (ficheros .h) y de implementacin (.m) Las clases heredan siempre de otra clase, al menos de la clase genrica NSObject Todos los objetos genricos del lenguaje empiezan por NS (NSString, por ejemplo) Los objetos de Interfaz de usuario suelen empezar por UI (UIButton, por ejemplo)
31
Introduccin a Objective-C
@interface MiClase: SuperClase { NSString *var1; NSString *var2; } @property (nonatomic, copy) NSString *var1; @property (nonatomic, copy) NSString *var2; - (void) miMetodo; - (void) miMetodo: (ClaseA *)arg1; - (void) miMetodo: (ClaseA *) arg1 argumento2:(ClaseA *)arg2; + (void) miMetodoClase; @end
32
Introduccin a Objective-C
En el ejemplo anterior: Los mtodos con + delante son de clase. NO NECESITAN UNA INSTANCIA PARA EJECUTARSE Los mtodos con delante son de instancia. NECESITAN un objeto. Enseguida vemos los property y los synthesize.
33
Introduccin a Objective-C
#import "MiClase.h" @implementation MiClase @synthesize var1; @synthesize var2; - (void) miMetodo { // hacer algo con alguna variable de la clase } + (void) miMetodoClase { return @Hola; } @end
34
Introduccin a Objective-C
En el ejemplo anterior: Tenemos dos mtodos implementados. El @ de @Hola indica una constante Tenemos implementados dos @synthesize: Los @property y @synthesize son directivas que le indican al compilador que queremos que genere automticamente un getter y un setter. Cuando se declara una Property, se establecen modificadores
35
Introduccin a Objective-C
Modificadores de una property: Assign: get devuelve una variable y set hace una asignacin simple. Copy: get y set comprueban que objeto no nil. Set har una copia antes de liberar Nonatomic: la variable no necesita ser atmica Retain: funciona igual que assign Lo veremos en gestin de memoria
36