在UITableView中用数组分隔第一个字母?

时间:2014-05-01 00:09:32

标签: ios objective-c uitableview

我有一个名为 tableData 的数组,我把它放在tableView

tableData = [NSArray arrayWithObjects:@"Andre",@"Alessandro",@"bruno",@"caio",@"Marcio",@"Maria",@"Jose", nil];

我们可以看到数组按字母顺序排列,我把这个数组放在UITableView中,代码如下:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // Return the number of rows in the section.
    return [tableData count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"ID HERE";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }

    cell.textLabel.text = [tableData objectAtIndex:indexPath.row];
    return cell;
}

我想要做的就是在UITableView中创建一个分隔符,显示字符串的第一个字母,例如:

Letter A --> This is a separator in TableView
Andre -> this is a row
Alessandro -> This is a row
Letter B -> This is another separator
Bruno -> this is a row
Letter C -> Another separator
Caio -> this is a another row

我怎么能这样做?在UITableViewDelegade中有一个方法可以帮我吗?有其他解决方案吗?

2 个答案:

答案 0 :(得分:0)

您必须执行两个步骤:

  1. 由于您不确定将有完整的24个字母字符,因此您需要浏览tableData以获取所有现有首字母的列表。注意大小写。

  2. 现在你有两个数组,一个是你的tableData,左边是包含第一个字母的列表,我们称之为arrayFirstLetters。只需使用表格部分(你可以在google上找到很多教程)。

答案 1 :(得分:-1)