web-dev-qa-db-fra.com

comment concaténer plusieurs NSString dans une chaîne dans un iphone

J'ai 5 String Je veux qu'ils doivent être stockés dans NSString Singe toutes les valeurs séparent avec le signe |

   NSString *first=@"ALi";
   NSString *second=@"Imran";
   NSString *third=@"AliImran";
   NSString *fourth=@"ImranAli";
   NSString *fifth=@"ALi Imran Jamshed";

Je veux tout cela dans NSString unique pour stocker et toutes les valeurs séparées par un signe donné.

12
user1619187
NSArray *myStrings = [[NSArray alloc] initWithObjects:first, second, third, fourth, fifth, nil];
NSString *joinedString = [myStrings componentsJoinedByString:@"|"];
// release myStrings if not using ARC.
46
DrummerB
you can try ....
NSString *joinString=[NSString stringWithFormat:@"%@|%@|%@|%@|%@",youstring1,youstring2,youstring3,youstring4,youstring5];
25
Ha cong Thuan

Solution courte:

NSString *str = [@[nstring1, nstring2, nstring3] componentsJoinedByString:@","];
8
Roman

Je suppose que ce que DrummerB a suggéré, est la meilleure façon. Vous devez stocker les chaînes dans la structure de données. Tableau ou dictionnaire d'ailleurs.
Si vous voulez simplement utiliser des chaînes, ce n’est pas impossible, mais ce sera imprudent. Voici : 

NSString*first=@"ALi";  
first = [first stringByAppendingString:@"|"];
first = [first stringByAppendingString:@"Imran"];
first = [first stringByAppendingString:@"|"];
first = [first stringByAppendingString:@"AliImran"];
first = [first stringByAppendingString:@"|"];
first = [first stringByAppendingString:@"ImranAli"];
first = [first stringByAppendingString:@"|"];
first = [first stringByAppendingString:@"ALi Imran Jamshed"];
4
Nitish
NSArray *stringsArray = [[NSArray alloc] initWithObjects:first, second, third, fourth, fifth, nil];
NSString *combinedString = [stringsArray componentsJoinedByString:@","];

La chaîne combinée ressemble à ceci @"ALi,Imran,AliImran,ImranAli,ALi Imran Jamshed";

1
Tendulkar

Pour améliorer la réponse de Nitish, vous pouvez réduire le nombre de lignes en procédant comme suit:

NSString *first=@"ALi";  
first = [first stringByAppendingString:[@"|" stringByAppendingString:[@"Imran" stringByAppendingString:@"|"]]];
.
0
suryashekhar