要添加索引首先要给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;
}