J'ai rencontré un problème lié aux pointeurs dans les tableaux de l'objectif-c. Ce que j'essaie de faire est de prendre les pointeurs dans un NSArray, de les passer à une méthode, puis d'assigner la valeur retournée au pointeur d'origine (le pointeur qui appartient au tableau). D'après ce que je sais de C et C++, en déréférençant les pointeurs dans le tableau, je devrais être capable de changer les valeurs qu'ils pointent ... Voici le code que j'utilise, mais ça ne marche pas (le pointeur de la valeur ne change jamais en fonction de la sortie NSLog).Modifier les valeurs dans NSArray par déréférencement?
NSArray *phoneNumbers = [phoneEmailDict objectForKey:@"phone"];
for (NSString* phone in phoneNumbers) {
(*phone) = (*[self removeNonNumbers:phone]);
NSLog(@"phone:%@", phone);
}
Et voici la signature de la méthode que je passe le NSString * à:
- (NSString*) removeNonNumbers: (NSString*) string;
Comme vous pouvez le voir, je suis Itère chaque NSString * dans phoneNumbers avec le téléphone variable. Je passe le téléphone à removeNonNumbers :, qui renvoie le NSString * modifié. Puis déréférencer le pointeur renvoyé par removeNonNumber et affecter la valeur au téléphone.
Comme vous pouvez le constater, je ne comprends probablement pas très bien les objets Objective-C. Je suis sûr que cela fonctionnerait en C++ ou C, mais je ne vois pas pourquoi ça ne marche pas ici! Merci d'avance pour votre aide!