头文件里的属性以及方法的用途:
一共包含4个方法,两个属性:
sectionTitles:获取索引数组,中英文就27个(A-Z,#),其他的就不知道了,会根据语言的不同而改变。
sectionIndexTitles:提供用于快速跳转到特定部分的索引标题的列表。
currentCollation:初始化方法,会根据不同国家初始化出不同的结果。
- (NSInteger)sectionForSectionIndexTitleAtIndex:(NSInteger)indexTitleIndex:用于滚动到指定索引列表的方法。
- (NSInteger)sectionForObject:(id)object collationStringSelector:(SEL)selector:根据此方法可获取name所在的位置(例如:“简书”首字母是 j 那么sectionNumber 就是9,第一个A是0)。
- (NSArray*)sortedArrayFromArray:(NSArray*)array collationStringSelector:(SEL)selector:对每个section中的数组按照name属性排序,就是对每个字母下的所有名字进行排序。
所谓通讯录的话,就是一个table加上scetion title 和索引,有了获取索引的方法,剩下的就是table了,table的数据源应该是个二维数组(@[@[],@[],@[]]),数组能存的当然是person对象了,至于对象包含信息,有自己决定。有了name所在位置的方法和对name排序的方法,数据源就搞定了。最后一个,点击索引滚动到指定列表的方法就完美了。