Как я могу генерировать разделенную запятыми строку в Objective-C? - PullRequest
2 голосов
/ 13 апреля 2011

Я пытаюсь создать строку через запятую.например, abc, pqr, xyz
Я анализирую xml и хочу создать разделенную запятыми строку значений узлов в xml.

Я делаю следующее:

if([elementName isEqualToString:@"Column"])
      NSString *strTableColumn = [attributeDict objectForKey:@"value"];

Я получаю различные значения узлов в strTableColumn при разборе и хочу создать запятую отдельно от этого.Пожалуйста, помогите.

Ответы [ 5 ]

23 голосов
/ 13 апреля 2011

Я бы так и сделал.Перед началом обработки XML создайте изменяемый массив для хранения каждого значения «Столбец» (вероятно, вы хотите, чтобы это был iVar в вашем классе анализатора):

NSMutableArray *columns = [[NSMutableArray alloc] init];

Затем выполните синтаксический анализ XML, добавив каждую строку вмассив:

if([elementName isEqualToString:@"Column"]) {
    [columns addObject:[attributeDict objectForKey:@"value"]];
}

Когда вы закончите, создайте строку через запятую и освободите массив:

NSString *strTableColumn = [columns componentsJoinedByString:@","];
[columns release];
columns = nil;
4 голосов
/ 13 апреля 2011

Вы можете использовать следующий код:

NSString *timeCreated = elementName;  
NSArray *timeArray = [timeCreated componentsSeparatedByString:@","];        
NSString *t = [timeArray objectAtIndex:0];  
NSString *t1 = [timeArray objectAtindex:1]; 

Затем добавьте одну за другой строку.

1 голос
/ 13 апреля 2011

используйте NSMutableString

, тогда вы можете использовать

[yourMutableString appendString:@","];//there is a comma
[yourMutableString appendString:someOtherString];

, чтобы ваши строки разделялись запятой

0 голосов
/ 11 июля 2017

Первой мыслью может быть то, что вы анализируете данные и добавляете запятые с помощью методов добавления NSString.Но это может иметь дополнительные проверки.Поэтому лучшим решением будет

Анализ данных -> Сохранить в массиве -> Добавить разделители запятых -> Наконец сохранить в строке

// Parse data -> Store into array
NSMutableArray *arrayOfColumns = [[NSMutableArray alloc] init];
if([elementName isEqualToString:@"Column"]){
   [arrayOfColumns addObject:[attributeDict objectForKey:@"value"]];
}
// Add comma separators -> Finally store in string
NSString *strTableColumn = [arrayOfColumns componentsJoinedByString:@","];
0 голосов
/ 20 августа 2013

Этот метод вернет вам строку nsmutable с разделенными запятыми значениями из массива

-(NSMutableString *)strMutableFromArray:(NSMutableArray *)arr withSeperater:(NSString *)saperator 
{ 
    NSMutableString *strResult = [NSMutableString string];

    for (int j=0; j<[arr count]; j++)
{
    NSString *strBar = [arr objectAtIndex:j];
    [strResult appendString:[NSString stringWithFormat:@"%@",strBar]];
    if (j != [arr count]-1)
    {
        [strResult appendString:[NSString stringWithFormat:@"%@",seperator]];
    }
}
return strResult;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...