Pb de pointeurs...

CathyGYM

Membre actif
28 Novembre 2010
160
1
Bonsoir,
Dans une application iPhone, j'ai une procédure avec plusieurs paramètres et je souhaite en modifier plusieurs (une sorte de fonction qui retournerait plusieurs variables), et le tout en évitant les variables globales (beurk). Je dois donc utiliser des pointeurs, afin de transmettre les adresses des variables à modifier et ainsi récupérer les variables après leur modification. Mon problème est que l'une de ces variables à modifier est une chaîne de caractères, et je suis bloquée. Voici à quoi ressemble le code :

Bloc de code:
NSString * texte1=@"texte initial";
NSString * texte2=@"texte à ajouter";
[self calculTotal:2:3:&texte1:&texte2]

-(int)calculTotal:(int)variableA:(int)variableB:(NSString *)texteARenvoyer:(NSString *)texteAConcatener{
	// Calculs sur variableA et variableB
....
	texteARenvoyer=[[texteARenvoyer stringByAppendingFormat:@" - "] stringByAppendingString:texteAConcatener];
	return 0;
}

J'ai un problème à la compilation... Je pense que j'ai raté un épisode sur les pointeurs ! :confused: Quelqu'un aurait il une suggestion pour que ma chaîne texte1 soit bien modifiée dans la procédure ?
Merci d'avance de bien vouloir répondre à ma question de nioub ! :zen:
 
Il faut passer les pointeurs en paramètre pas leur adresse :
Bloc de code:
[self calculTotal:2:3:texte1:texte2]

Si tu veux modifier la valeur de la NSString, il faut passer un pointeur de pointeur : NSString**
Bloc de code:
-(int)calculTotal:(int)variableA:(int)variableB:(NSString **)texteARenvoyer:(NSString *)texteAConcatener{

Par exemple, voir le traitement des erreurs dans les fonctions de la classe NSXMLDocument.
 
Dernière édition:
Merci beaucoup je vais tester çà...
J'avais pas osé mettre deux * ! :D

---------- Nouveau message ajouté à 22h06 ---------- Le message précédent a été envoyé à 21h56 ----------

Ca y est, c'est testé, et çà marche nickel, mais je sais, tu n'en doutais pas !
Merci encore :up: :zen::zen: