Méthode d’appel Objective C dynamicment avec une chaîne

Je me demande simplement s’il existe un moyen d’appeler une méthode où je construis le nom de la méthode à la volée avec une chaîne.

par exemple j’ai une méthode appelée loaddata

-(void)loadData; 

d’appeler cela, je l’appellerais normalement comme

 [self loadData]; 

Mais je veux pouvoir l’appeler dynamicment avec une chaîne, par exemple

 NSSsortingng *methodName = [[NSSsortingng alloc] initWithSsortingng:@"loadData"]; [self methodName]; 

Ceci est un exemple stupide mais j’espère que vous comprendrez mon point. Je l’utilise pour les classes de liaison de données que je suis en train de configurer pour mon application IPad. Difficile à expliquer, mais pour que cela se déclenche, je dois trouver comment appeler une méthode avec une chaîne.

Des idées?

Merci

Vous pouvez essayer quelque chose comme

 SEL s = NSSelectorFromSsortingng(selectorName); [anObject performSelector:s]; 

Vous pouvez utiliser la fonction objc_msgSend. Il faut deux parameters, le récepteur et le sélecteur pour lui envoyer:

 objc_msgSend(self, someSelector); 

Vous devrez transformer votre chaîne en sélecteur approprié à l’aide de NSSelectorFromSsortingng :

 NSSsortingng *message = [self getSomeSelectorName]; objc_msgSend(self, message); 

La méthode prend également un nombre variable d’arguments, vous pouvez donc envoyer des messages avec un nombre quelconque d’arguments.

 NSSsortingng *message = [self getSomeSelectorNameWithManyArguments]; objc_msgSend(self, message, arg1, arg2, arg3, arg4); 

Vous avez besoin de NSSelectorFromSsortingng .