Next: Messages à self et Up: La gestion des messages Previous: Le type des arguments

Arguments cachés

Quand la fonction de message trouve la procédure qui implémente une méthode, elle appelle cette procédure avec tous les arguments du message. Elle passe aussi deux arguments cachés qui sont :

Ces arguments sont caché dans le sens qu'ils ne sont pas déclarés dans le source qui défini la méthode. Ils sont insérés dans le code par le compilateur. Bien que ces arguments ne soit pas explicitement déclarés il sont quand même manipulables.

Les méthodes réfères au receveur par la variable self et au sélecteur par _cmd. Dans l'exemple suivant _cmd est le sélecteur de la méthode etrange et self est l'instance qui reçoit le message etrange.
- etrange
{
id cible = leReceveur();
SEL action = laMethode();

if ( cible == self || action == tex2html_wrap_inline2758_cmd )
return nil;
return [cible perform:action];
}
La variable self est la plus utile, c'est grâce à elle que les variables d'instances sont dans la portée de la méthode.

L'usage est de faire retourner self aux méthodes qui n'ont pas de valeur de retour spécifique. Ceci permet d'écrire des messages imbriqués dans le source, comme par exemple:
[[[maMatrix setMode:NX_RADIOMODE] setEnabled:YES] setTag:99];

La variable self est détaillé dans la section suivante.



Dominique REVUZ
Vendredi 21 février 1997 17:27:12
Une Bug Un mail Merci