iPhone en Objective-C la syntaxe d'équivalence

La syntaxe avec des crochets en Objective-C est l'une des raisons les plus de frustration pour ceux qui viennent d'autres langues (pour les objets). Toutefois, vous y habituer, vous réalisez combien le code lisible devient trop avec ce mélange de classique et plus distinctement la syntaxe Smalltalk. Par exemple, nous voyons comment la même procédure peut être écrite dans les deux syntaxe. Prenez l'initialisation d'un UIAlertView :

1
2
3
4
5
6
7
8
[ [ UIAlertView alloc ] initWithTitle : @ "Titolo" UIAlertView MyAlert * = [[UIAlertView alloc] initWithTitle: @ "Titre"
"Messaggio" message: @ "Message"
délégué: auto
"Annulla" cancelButtonTitle: @ "Annuler"
"Ok" , nil ] ; otherButtonTitles: @ "OK", nil];
; myAlert.tag = 1;
; [MyAlert spectacle];
; [MyAlert presse];

Le réglage de la potavamo tag encore ainsi:

1
2
3
4
5
6
7
8
[ [ UIAlertView alloc ] initWithTitle : @ "Titolo" UIAlertView MyAlert * = [[UIAlertView alloc] initWithTitle: @ "Titre"
"Messaggio" message: @ "Message"
délégué: auto
"Annulla" cancelButtonTitle: @ "Annuler"
"Ok" , nil ] ; otherButtonTitles: @ "OK", nil];
1 ] ; [MISE MyAlert: 1];
; [MyAlert spectacle];
; [MyAlert presse];

Même chose à la lecture lors de l'événement:

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) {/ / ...
/ / Ou
alertView tag ] == 1 ) { // ... if ([alertView tag] == 1) {/ / ...
}

Remarque: Pas toutes les propriétés ou les méthodes ont cette syntaxe double. Dans le cas de « UIAlertView nous avons cette double fonctionnalité. Pour les autres objets, ou dans d'autres cas, cependant, un seul des deux pourrait fonctionner ... mais ne me demandez pas pourquoi (selon la façon dont les développeurs ont défini l'interface).

Il n'y a aucun commentaire pour cet article

Laisser un commentaire

XHTML TAG PERMIS: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> CODE D'INSERTION:
 <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 


Arrêtez SOPA