如何把自定义对象的NSArray变成按字母表排序的带索引的UITableView?

鉴客 发布于 2012/01/09 14:53
阅读 3K+
收藏 0
如果我从自定义对象(每个对象是一个个体)的NSArray像这样开始:
{  surname:Allen   forename: Woody,  surname:Baxter  forename: Stanley,  surname:Clay    forename: Cassius}
等等……
你可以看见array已经是姓的顺序。我怎么用这些数组以A,B,C等等的索引顺序创建一个UITableView。                                        
A                                                               B                                                               C
我猜想我问的就是如何把对象的数组变成分段的数组,以所有姓的首写字母,并且姓数组的也许是像这样套叠的数组:
{   letter: a  {  surname:Allen   forename: Woody   }  letter: b  {  surname:Baxter  forename: Stanley }  etc}
加载中
0
鉴客
鉴客
可能有数不清的方法可以做到这个。这是其中一种可以达到的方法
NSMutableDictionary *aIndexDictionary = [[NSMutableDictionary alloc] init]; 
NSMutableArray *currentArray;
NSRange aRange = NSMakeRange(0, 1);
NSString *firstLetter;
for (Person *aPerson in personArray) {
  firstLetter = [aPerson.surname substringWithRange:aRange];
  if ([aIndexDictionary objectForKey:firstLetter] == nil) {
    currentArray = [NSMutableArray array];
    [aIndexDictionary setObject:currentArray forKey:firstLetter];
  }
  [currentArray addObject:aPerson];
}
返回顶部
顶部