2010-05-24 5 views
0

je dans le fichier .h:Crashing Strings .... :(

NSString *dataHML; 
NSString *dataHML2; 
NSString *dataHML3; 
NSString *dataHML4; 
NSString *dataHML5; 
NSString *dataHML6; 
NSString *dataHMLtotal; 

dans le fichier .m je les fusionner avec:

NSString *dataHtmlTotal = [NSString stringWithFormat:@"%@%@%@%@%@%@", dataHtml, dataHtml2, dataHtml3, dataHtml4,dataHtml5,dataHtml6]; 

Mais malheureusement, il tombe en panne à un moment donné Quelqu'un pourrait-il me donner une autre solution et la publier s'il vous plaît, parce que j'ai déjà essayé nsuserdefault ou un nsarray, mais sans que je ne puisse pas le faire fonctionner

+1

dup: http://stackoverflow.com/questions/2898183/strings-wont-combine-objective-c – progrmr

+0

Veuillez mettre à jour votre question initiale avec les modifications problématiques au lieu de poser une question complètement nouvelle. Merci. – fbrereto

+2

Ce n'est évidemment pas votre vrai code. Les noms de variables ne correspondent même pas. Cette technique générale devrait fonctionner, donc le crash est dû à une erreur que vous commettez, et il est difficile de déterminer l'erreur sans voir tout le code pertinent, y compris l'endroit où ces variables sont assignées. – Chuck

Répondre

0

Si vous avez vraiment 6 variables nommées numériquement comme ça, vous pourriez être mieux avec un tableau.

NSMutableArray *dataHMLStrings = [NSMutableArray array]; 

[dataHMLStrings addObject:@"String1"]; 
[dataHMLStrings addObject:@"String2"]; 
      . 
      . 
      . 
[dataHMLStrings addObject:@"String100"]; // or however many you have. 

NSString *dataHMLTotal = [dataHMLStrings componentsJoinedByString:@""]; 

Vous pouvez donner la méthode componentsJoinedByString: une autre chaîne (je suis passé une chaîne vide ici parce que vous ne vouliez rien à apparaître entre chaque chaîne dataHML).

+0

Merci, maintenant c'est un conseil très utile: D – Ruiter

0

S'il vous plaît assurez-vous que toutes vos chaînes alloué et initialisé (aucun des points dont vous parlez dans votre question.) Si vous ne le faites pas, vous courez le risque de manipuler les données à l'emplacement des pointeurs d'ordures, et votre application va très probablement planter.

+0

@dreamlex: J'ai des tutoriels en ligne rouges, et mon code est assez long pour poster tout cela, c'est la raison pour laquelle j'ai placé une petite paix avec le problème. Si je pouvais résoudre ce problème moi-même je ne voudrais pas placer mon problème ici. :) Et je suis d'accord c'est dataHMLTotal au lieu de dataHtmlTotal, mais le problème reste qu'il se bloque. – Ruiter