¿Cómo desarrollar en PHP con Xcode y Objective-C

¿Cuántos programadores utilizan para hacerlo, yo también construir mis propias bibliotecas de funciones listas para ser reutilizada en múltiples proyectos y en múltiples contextos. Pasaré el título de este post, tal vez un poco arriesgado, pero, sin embargo, como veremos, no muy lejos de la realidad.

En Objective-C se puede escribir y llamar a C / C + +, que incluye el conjunto para el caso. Esta característica hace que sea un lenguaje verdaderamente versátil y, en algunos aspectos, fenomenal. Por un lado, en efecto, se puede utilizar y apreciar la sintaxis puramente Objective-C, por otro lado puede ejecutar portabilidad rápida del código escrito en ANSI C (tal vez por Digital Unix, Sun) y utilizarlo cómodamente en nuestro iPhone o la aplicación iPad; por no hablar de todo el kernel BSD ya está disponible en Mac OS X!

Una de las actividades que cualquier desarrollador - incluso sin experiencia - debe hacer, es simplificar la escritura de código, sobre todo simplificar las llamadas a las funciones que se utilizan con más frecuencia. El Apple iPhone / iPad, por ejemplo, cualquier aplicación, tarde o temprano tendrá que hacer uso del objeto UIAlertView , herramienta útil para informar al usuario de un evento o, en su caso, solicitar la confirmación de si o no una acción. Este objeto se utiliza en la misma forma de ' alert() de JavaScript, por así decirlo.

Bueno, uno de su llamamiento, en su forma más simple, se resuelve mediante el código:

1
2
3
4
5
6
7
8
[ [ UIAlertView alloc ] initWithTitle : @ "Titolo" UIAlertView * alert = [[UIAlertView alloc] initWithTitle: @ "Título"
"Corpo del messaggio" mensaje: @ "Cuerpo del mensaje"
delegado: nil
"Ok" cancelButtonTitle: @ "Ok"
] ; otherButtonTitles: nil];

; [Muestra Alerta];
; [Alerta autorelease];

Ahora, sería bueno para escribir en Objective-C tal cosa?:

1
"Titolo" , @ "Corpo del messaggio" , @ "Ok" ) ; alerta (@ "Título", @ "Cuerpo del Mensaje", @ "Ok");

Bueno, la cosa es factible y fácil de implementar. , nel caso del file .h e prima di @implementation , nel caso dei file di implementazione .m . Todo el código que no pertenecen a la clase, tal como sucede para la declarativa #define , debe insertarse antes de @interface , en el caso de el archivo .h y antes de @implementation , en el caso de archivo de implementación .m .

Podemos por lo tanto, para crear nuestra propia biblioteca personal (con el código ya entonces mezclada) con nuestras funciones - productos - Otros. . A modo de ejemplo vamos a crear dos archivos phpFunctions.h y phpFunctions.m .
En el archivo de encabezado phpFunctions.h escribir:

1
2
3
/ / PhpFunctions.h

NSString * title, NSString * message, NSString * dismissButtonTitle ) ; void alerta ( NSString * title, NSString * mensaje, NSString * dismissButtonTitle);

En el archivo de implementación phpFunctions.m escribir:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/ / PhpFunctions.m

# Importar "phpFunctions.h"

NSString * title, NSString * message, NSString * dismissButtonTitle ) { void alerta ( NSString * title, NSString * mensaje, NSString * dismissButtonTitle) {
[ [ UIAlertView alloc ] initWithTitle : title UIAlertView * alert = [[UIAlertView alloc] initWithTitle título
Mensaje: Mensaje
delegado: nil
cancelButtonTitle: dismissButtonTitle
] ; otherButtonTitles: nil];

; [Muestra Alerta];
; [Alerta autorelease];
}

¡Ya está! A partir de este momento, si se incluyen en una vista controlador phpFunctions.h , vamos a ser capaces de escribir más simplemente:

1
2
3
4
5
6
7
8
9
10
11
# Importar "phpFunctions.h"

/ / ...

void ) mioMessaggio : ( int ) valore { - (Void) myMessage: (int) Valor {
valore > 10 ) { if (value> 10) {
"Informazioni" , @ "Valore maggiore di 10" , @ "Bravo" ) ; alerta (@ "Info", @ "valor mayor que 10" @ "Bravo");
{ Else {}
"Informazioni" , @ "Valore minore di 10" , @ "Meno bravo" ) ; alerta (@ "Info", @ "valor de menos de 10" @ "menos bueno");
}
}

Este procedimiento se puede aplicar a muchas de las funciones y características. Como otro ejemplo, vamos a reescribir la función explode() en PHP, que rompe una cadena de fecha de acuerdo a un separador dado, devolviendo una matriz de cadenas. En Objective-C esta característica es relaizzata por:

1
2
3
4
5
/ / Ejemplo de split / explosión
stringaDaScomporre = @ "Sono una stringa da scomporre" ; NSString * stringaDaScomporre = @ "Soy una cadena a dividir";
parti = [ stringaDaScomporre componentsSeparatedByString : @ " " ] ; NSArray * piezas = [stringaDaScomporre componentsSeparatedByString: @ ""];

"parti = %@" , parti ) ; NSLog (@ "% @" = partes, piezas);

En este caso se procede exactamente igual que antes, la ampliación de la biblioteca. En el archivo phpFunctions.h añadir:

1
2
3
/ / PhpFunctions.h

explode ( NSString * delimiter, NSString * string ) ; NSArray * explotar ( NSString * delimitador, NSString * string);

En el archivo .m añadir:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/ / PhpFunctions.m

# Importar "phpFunctions.h"

/ *!
@ Función explode ()
@ Abstract estilo PHP
@ Discusión Descomponer un strimnga de acuerdo con un delimitador
@ Param delimitador delimitador
@ Param string cadena para descomponer
@ Arreglo de resultados de cadenas
* /
explode ( NSString * delimiter, NSString * string ) { NSArray * explotar ( NSString * delimitador, NSString * string) {
string componentsSeparatedByString : delimiter ] ; retorno [cadena componentsSeparatedByString: delimitador];
}

La ganancia del código, en este caso particular, no es mucho, sin embargo, para personas como yo se desarrollan en PHP, JavaScript, ActionScript y Objective-C, puede ser útil volver a crear una cierta uniformidad, o la familiaridad de funciones. . Sin duda, es más menomico explode() - Si usted es de PHP - que componentsSeparatedByString .

Ahora tenemos dos funciones convenientes para el uso en nuestros proyectos. A partir de este momento, si usted necesita para romper una cadena, se puede escribir:

1
2
3
4
5
6
# Importar "phpFunctions.h"

stringaDaScomporre = @ "Sono una stringa da scomporre" ; NSString * stringaDaScomporre = @ "Soy una cadena a dividir";
parti = explode ( @ " " , stringaDaScomporre ) ; NSArray * partes = explode (@ "", stringaDaScomporre);

"parti = %@" , parti ) ; NSLog (@ "% @" = partes, piezas);

Para usted no es nada más que crecer esta biblioteca, con el fin de acelerar la elaboración de hermosas aplicaciones para iPhone, iPad y Mac OS, o, más generalmente, para iOS.

No hay comentarios para este post

Deja un comentario

TAG XHTML PERMISOS: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> ENTRADA CÓDIGO:
 <pre></pre> // blocco generico <code></code> // blocco generico [cc_actionscript][/cc_actionscript] // Actionscript [cc_actionscript3][/cc_actionscript3] // Actionscript 3 [cc_css][/cc_css] // CSS Style Sheet [cc_html][/cc_html] // HTML [cc_js][/cc_js] // Javascript [cc_objc][/cc_objc] // Objective-C [cc_php][/cc_objc] // PHP [cc_sql][/cc_sql] // SQL