UITableView添加索引

要添加索引首先要给tableview分节。

然后需要实现tableview的数据源协议的如下方法:
- (NSArray *) sectionIndexTitlesForTableView: (UITableView *) tableView

如:

- (NSArray *) sectionIndexTitlesForTableView: (UITableView *)tableView {
    
    NSMutableArray *listTitles = [[NSMutableArray alloc] init];
    for (NSString *item in self.listGroupname) {
          NSString *title = [item substringToIndex: 1];
          [listTitles addObject: title];
    }

    return listTitles; 
}

其中,self.listGroupname是一个NSArray类型,里面存放的是每个section的名称,数据为“A组,B组,C组,D组,E组,F组”。上述方法就是把数据截取一部分,将索引设为“A,B,C,D,E,F”。

- (NSString *)substringToIndex:(NSUInteger)to;是�用于截取字符串的方法,用中文理解读作——保留到...
于是上面的方法就是将“A组”保留到索引值1为止,索引值从0开始。但是,substringToIndex: 是不包括作为参数的那个索引值的,所以结果是保留到索引值为1前面为止。

类似的一个方法是: - (NSString *)substringFromIndex:(NSUInteger)from;
即从...开始保留,�与上面的substringToIndex不同的一点是,它包括作为参数的那个索引值。

如:我要把"2016-01-01,2016-01-02,2016-01-03,2016-01-04,2016-01-05,2016-01-06"这些数据截取到只剩下月-日的格式,像“01-01,01-02”,就可以用这个方法

- (NSArray *) sectionIndexTitlesForTableView: (UITableView *)tableView {
    
    NSMutableArray *listTitles = [[NSMutableArray alloc] init];
    for (NSString *item in self.listGroupname) {
            NSString *title = [item substringFromIndex: 5];
            [listTitles addObject: title];
    }

    return listTitles;
}

你可能感兴趣的:(UITableView添加索引)