Разделить и поменять строку в Objective C (iPhone) - PullRequest
0 голосов
/ 21 августа 2010

Привет У меня есть массив строк, разделенных разделителем ":". Я попытался разделить строки с помощью метода componentSeparatedByString, а затем сохранить результат в массиве, а затем использовать этот массив для получения желаемого результата, но это не сработало.

Например

Теперь мой UITableView отображает ячейки как:

Дело 1:

How:Many
Too:Many
Apple:Milk
iPhone:Simulator

Я хочу, чтобы ячейки отображались в UITableView как:

Дело 2:

Many How
Many Too
Milk Apple
Simulator iPhone

Это мой метод cellForRowAtIndexPath:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    }
 NSString *entry=[entryKeys objectAtIndex:[indexPath section]];
    NSArray *entrySection=[entries objectForKey:entry];
   cell.textLabel.text=[entrySection objectAtIndex:[indexPath row]]
 }

 return cell;
}

Вывод описанного выше метода case 1 , но я хочу, чтобы вывод был case 2 entryKeys имеет ключи от A-Z, а раздел ввода имеет значения, отсортированные и перечисленные для соответствующих ключей, то есть записи, начинающиеся с A, сгруппированные по ключу A и т. д.

Это может звучать глупо, но я все еще учусь ... пожалуйста, помогите мне

Ответы [ 2 ]

3 голосов
/ 21 августа 2010

Есть множество способов сделать это. Вот один;

// get your raw text in the form of "AAA:BBB"
NSString *rawText = [entrySection objectAtIndex:[indexPath row]];

// split the text by the : to get an array containing { "AAA", "BBB" }
NSArray *splitText = [rawText componentsSeparatedByString:@":"];

// form a new string of the form "BBB AAA" by using the individual entries in the array
NSString *cellText = [NSString stringWithFormat:@"%@ %@", [splitText objectAtIndex:1], [splitText objectAtIndex:0]];

Надеюсь, это поможет.

0 голосов
/ 21 августа 2010

Не будет ли stringByReplacingOccurrencesOfString:withString: легче?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...