2009-05-29 10 views
0

Qu'est-ce que la parenthèse fait dansObjectif C: après Parenthèses nom de l'objet

[s addChild: [restartAction() node]];" 

ou quelle est cette fonctionnalité appelée? Merci.

EDIT: Je pense que la définition de restartAction() est

Class restartAction() 
{ 
    NSString *r = transitions[sceneIdx]; 
    Class c = NSClassFromString(r); 
    return c; 
} 

transitions [SomeInt] renvoie une chaîne. Cette chaîne est utilisée pour renvoyer un objet. Je ne comprends toujours pas pourquoi les parenthèses sont nécessaires. Je m'attends à un colon après la parenthèse. RestartAction ressemble à une fonction C simple qui ne prend aucun argument.

Répondre

5

Il renvoie probablement un pointeur vers un type objectif-c.

Puisque restartAction renvoie un type Objective-C Class, vous pouvez y appeler des fonctions de classe (+). C'est syntaxiquement équivalent à quand vous appelez [NStype alloc];

Si vous voulez expérimenter plus loin, vous pouvez obtenir la variable Class pour un type en appelant [type class];