我有一个数组和一个tableview,它从数组中获取数据。当我在iPhone上查看表格视图时,它的ofc,未排序以及在我编写它们时列出的内容。

我想在表格视图中对数组进行排序,所以它们没有像这样列出:


d
一种
G
F
小号


但改为这样列出:


一种

C
d
Ë
等等...


我怎样才能做到这一点?

这是我的数组:

stationList = [[NSMutableArray alloc] init];
[stationList addObject:@"A"];
[stationList addObject:@"B"];
[stationList addObject:@"C"];


如何将数组加载到tableview数组中?
加载数组:

NSString *cellValue = [stationList objectAtIndex:indexPath.row];
cell.textLabel.text = cellValue;

最佳答案

使用[stationList sortUsingFunction:compareLetters context:whateveryouwant_ornil]



NSComparisonResult compareLetters(id t1, id t2, void* context) {

      do the tests you want beetween t1 and t2, and return the result
      like :

      if (the test) return NSOrderedDescending, NSOrderedAscending or NSOrderedSame
}


在您的示例中,您应该执行以下操作:

NSMutableArray stationList = [[NSMutableArray array];
[stationList addObject:@"A"];
[stationList addObject:@"B"];
[stationList addObject:@"C"];
[stationList sortUsingFunction:compareLetters context:nil];

NSComparisonResult compareLetters(id t1, id t2, void* context) {
      return [t1 compare:t2];
}

10-05 21:04