La sintaxis con corchetes en Objective-C es una de las razones más frustración para los que vienen de otros idiomas (por objetos). Sin embargo, acostumbrarse a él, te das cuenta de cómo leer el código se vuelve demasiado con esta mezcla de clásico y más claramente Smalltalk sintaxis. Por ejemplo, podemos ver cómo el mismo procedimiento se puede escribir tanto en la sintaxis. Tome la inicialización de un UIAlertView :
1 2 3 4 5 6 7 8 | [ [ UIAlertView alloc ] initWithTitle : @ "Titolo" UIAlertView MyAlert * = [[UIAlertView alloc] initWithTitle: @ "Título" "Messaggio" mensaje: @ "Mensaje" delegado: sí "Annulla" cancelButtonTitle: @ "Cancelar" "Ok" , nil ] ; otherButtonTitles: @ "OK", nil]; ; myAlert.tag = 1; ; [MyAlert show]; ; [MyAlert liberación]; |
El ajuste de la potavamo etiqueta que aún así:
1 2 3 4 5 6 7 8 | [ [ UIAlertView alloc ] initWithTitle : @ "Titolo" UIAlertView MyAlert * = [[UIAlertView alloc] initWithTitle: @ "Título" "Messaggio" mensaje: @ "Mensaje" delegado: sí "Annulla" cancelButtonTitle: @ "Cancelar" "Ok" , nil ] ; otherButtonTitles: @ "OK", nil]; 1 ] ; [MyAlert de configuración: 1]; ; [MyAlert show]; ; [MyAlert liberación]; |
Lo mismo en la lectura durante el evento:
1 2 3 4 5 | void ) alertView : ( UIAlertView * ) alertView clickedButtonAtIndex : ( NSInteger ) buttonIndex { - (Void) alertView: (UIAlertView *) clickedButtonAtIndex alertView: (NSInteger) {buttonIndex alertView.tag == 1 ) { // ... if (alertView.tag == 1) {/ / ... / / O alertView tag ] == 1 ) { // ... if ([alertView tag] == 1) {/ / ... } |
Nota: No todas las propiedades o los métodos que esta sintaxis dual. En el caso de '
UIAlertViewtenemos esta doble funcionalidad. Para otros objetos, o en otros casos, sin embargo, sólo uno de los dos podría funcionar ... pero no preguntes por qué (en función de cómo los desarrolladores han definido la interfaz).










No hay comentarios para esta entrada
Deja un comentario