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