Как добавить конкатенировать несколько NSString в одну строку в iphone

У меня есть 5 String, я хочу, чтобы они были в singe NSString, все значения разделены знаком |

   NSString *[email protected]"Ali";
   NSString *[email protected]"Imran";
   NSString *[email protected]"AliImran";
   NSString *[email protected]"ImranAli";
   NSString *[email protected]"Ali Imran Jamshed";

Я хочу, чтобы все это было в одном NSString для хранения и всех значений, разделенных данным знаком.

Ответ 1

NSArray *myStrings = [[NSArray alloc] initWithObjects:first, second, third, fourth, fifth, nil];
NSString *joinedString = [myStrings componentsJoinedByString:@"|"];
// release myStrings if not using ARC.

Ответ 2

you can try ....
NSString *joinString=[NSString stringWithFormat:@"%@|%@|%@|%@|%@",youstring1,youstring2,youstring3,youstring4,youstring5];

Ответ 3

Краткое решение:

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

Ответ 4

Я предполагаю, что предложил DrummerB, это лучший способ. Вы должны хранить строки в структуре данных. Массив или словарь, если на то пошло.
Если вы просто хотите использовать строки, это не невозможно, но это будет неразумно. Вот вы:

NSString*[email protected]"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"];

Ответ 5

NSArray *stringsArray = [[NSArray alloc] initWithObjects:first, second, third, fourth, fifth, nil];
NSString *combinedString = [stringsArray componentsJoinedByString:@","];

Объединенная строка выглядит так: @"Ali,Imran,AliImran,ImranAli,Ali Imran Jamshed";