jueves, 12 de agosto de 2010
Copias de Seguridad del proyecto
martes, 10 de agosto de 2010
Gestión de un UIView
domingo, 8 de agosto de 2010
UIApplication
Los eventos que se manejan desde el UIApplicationDelegate son por ejemplo arrancar la aplicación , cerrar la aplicación o eventos como que entre una llamada mientras la aplicación se está ejecutando.
Vamos a detallar un poco más lo eventos que podemos manejar:
didChangeStatusBarFrame: El frame de la barra de estado ha cambiado.
willChangeStatusBarFrame: El frame de la barra de estado va a cambiar.
didChangeStatusBarOrientation: Cambia la orientación de la barra de estado
willChangeStatusBarOrientation:duration: La orientación de la barra de estado va a cambiar y el parámetro duration le indica cuanto va a durar la animación.
handleOpenURL: Le indica al delegado que quiere abrir una url.
applicationDidBecomeActive: Se ejecuta justo después de que la aplicación vuelva estar activa de nuevo. Por ejemplo te ha entrado una llamada y has terminado, la aplicación vuelve a estar activa y justo en ese momento se ejecuta este evento.
applicationDidFinishLaunching: Se ejecuta cuando la aplicación ha terminado de cargarse.
applicationDidReceiveMemoryWarning: Cuando recibe este mensaje es debido a que el SO le ha enviado este mensaje a la aplicación ya que se ha quedado el dispositivo sin memoria pero antes de cerrarla se le da una "oportunidad" de ejecutar este método para que se libere la memoria que se pueda de la app.
applicationSignificantTimeCharge: Se ha producido un cambio significativo en el tiempo durante la ejecución de tu aplicación.
applicationWillResignActive: Se ejecuta antes de que pase a inactiva por ejemplo te entra una llamada.
applicationWillTerminate: La aplicación se cierra.
applicationDidEnterBackground: La aplicación va a entrar en segundo plano pero si la aplicación no tiene implementado multitarea en este método deberías guardar los estados de la aplicación, liberar la memoria ya que se queda en "pausa" en segundo plano y cuando el usuario vuelve a entrar estará en el estado en el que se quedó pero cuando está en esta "pausa" si el SO necesita memoria la va a cerrar.
applicationWillEnterForeground: La aplicación vuelve a primer plano.
Nota: El UIapplicationDelegate de nuestra aplicación es el nombreAplicaciónAppDelegate, se generá automáticamente cuando creamos un nuevo proyecto (independientemente de la plantilla que usemos) y esa clase hereda de NSObject e implementa el protocolo UIApplicationDelegate.
Nota: Cuando hablamos de que se produce un evento o el delegado recibe un evento significa en realidad que se envía un mensaje concreto al delegado en función de lo que suceda y de esa manera ejecute el código correspondiente.
viernes, 6 de agosto de 2010
Versión móvil del blog
Espero que os resulte útil.
martes, 3 de agosto de 2010
Programación desde cero: Procedimientos y funciones
Booleano comprobacionBisiesto(entero Año){
booleano esBisiesto
//Aquí irian todas las comprobaciones pertinentes
si (esBisiesto)
return verdadero
sino
return falso
// Otra opción más eficiente sería: return esBisiesto
}
MostrarAreaCuadrado(entero a){
mostrarPorPantalla(a*a);
}
lunes, 2 de agosto de 2010
Programación desde cero: Variables
Una variable es en realidad un dato, éste dato puede ser por ejemplo una cadena de texto, un número entero,un número decimal o tipo de dato booleano (verdadero o falso) pero de alguna manera tenemos que hacer referencia a este dato que tenemos, para ello usamos un nombre.
Por ejemplo imaginemos que tenemos un dato referente a una edad, la edad va a ser 27 ¿cómo almacenamos ese dato? pues para ello declaramos una variable denominada miEdad, el tipo de dato es entero y el valor va a ser 27.
Sin entrar en un lenguaje de programación concreto sería algo tal que así:
Entero miEdad;
miEdad=27;
En la primera línea hemos declarado el tipo de dato que va a almacenar la variable miEdad que va a ser un dato de tipo entero.
En la segunda línea por el contrario hemos dado el valor a la variable, como es el primer valor que se asigna, normalmente se dice que lo hemos inicializado a 27.
Te preguntarás que pasará si intentamos acceder al valor que tenga miEdad antes de ser inicializado, depende el lenguaje puede dar un error o devolver null.
Hay lenguajes de programación que permiten hacer ambas cosas en una línea de la siguiente manera:
Entero miEdad = 27;
Foro de Iphone Programación
Espero vuestros posts!!!!
www.foroiphoneprogramacion.com
Si detectáis cualquier error o queréis comentarnos algo, sugerencias... ya sabéis!!!
pynsoftware@gmail.com
Sentencias iterativas en objetive-C: Bucle FOR
Este tipo de bucle se usa siempre y cuando conocemos el número de veces que se va a ejecutar un determinado código.
Sintaxis
for (inicialización del contador (1); condición de ejecución (2); actualización del contador(3)){
// Código a ejecutar
}
Secuencia de ejecución
1. Se inicializa el contador (1).
2. Se comprueba que el contador cumple la condición de ejecución(2).
2.1 Si cumple la condición se ejecuta el código a ejecutar y se actualiza el contador(3) y volvemos al paso 2.
2.2 Si no cumple la condición se sale del bucle for.
Ejemplo básico:
for (int i=0; i<10;i++) contador =" %d\n">
2010-08-02 02:22:27.912 pruebas[910:207] Contador = 0
2010-08-02 02:22:27.914 pruebas[910:207] Contador = 1
2010-08-02 02:22:27.915 pruebas[910:207] Contador = 2
2010-08-02 02:22:27.915 pruebas[910:207] Contador = 3
2010-08-02 02:22:27.916 pruebas[910:207] Contador = 4
2010-08-02 02:22:27.917 pruebas[910:207] Contador = 5
2010-08-02 02:22:27.918 pruebas[910:207] Contador = 6
2010-08-02 02:22:27.918 pruebas[910:207] Contador = 7
2010-08-02 02:22:27.919 pruebas[910:207] Contador = 8
2010-08-02 02:22:27.920 pruebas[910:207] Contador = 9
Notas:
Se puede declarar el contador fuera de la inicialización del contador.
La actualización del contador puede tomar diferentes formas:
- Incrementar: i++
- Decrementar: i--
- Cualquier otro tipo de modificación es válido, por ejemplo si queremos que se actualice de dos en dos sería de la siguiente manera: i = i + 2
Otro ejemplo:
for (int i=0; i<=10; i=i+2) { NSLog(@"Contador = %d\n",i); }
2010-08-02 02:22:27.920 pruebas[910:207] Contador = 0
2010-08-02 02:22:27.921 pruebas[910:207] Contador = 2
2010-08-02 02:22:27.921 pruebas[910:207] Contador = 4
2010-08-02 02:22:27.922 pruebas[910:207] Contador = 6
2010-08-02 02:22:27.922 pruebas[910:207] Contador = 8
2010-08-02 02:22:27.923 pruebas[910:207] Contador = 10
Otro ejemplo:
for (int i=1; i<30; i="i*3)" contador =" %d\n">
2010-08-02 02:22:27.923 pruebas[910:207] Contador = 1
2010-08-02 02:22:27.924 pruebas[910:207] Contador = 3
2010-08-02 02:22:27.925 pruebas[910:207] Contador = 9
2010-08-02 02:22:27.925 pruebas[910:207] Contador = 27
Ejemplo usando como contador un carácter:
Como ves no es necesario usar un contador de tipo entero para el bucle for.
for (char i='b'; i<'f';i++) { NSLog(@"Letra = %c\n",i); }
2010-08-02 02:22:27.923 pruebas[910:207] Contador = b
2010-08-02 02:22:27.924 pruebas[910:207] Contador = c
2010-08-02 02:22:27.925 pruebas[910:207] Contador = d
2010-08-02 02:22:27.925 pruebas[910:207] Contador = e
Otra versión:
for (char i='b'; i<'l';i=i+2) { NSLog(@"Letra = %c\n",i); }
2010-08-02 02:22:27.929 pruebas[910:207] Letra = d
2010-08-02 02:22:27.930 pruebas[910:207] Letra = f
2010-08-02 02:22:27.930 pruebas[910:207] Letra = h
2010-08-02 02:22:27.931 pruebas[910:207] Letra = j
Como ves solamente el bucle for da mucho juego!!!! :D