如何按字母顺序排列(xcode)

时间:2011-06-22 19:38:20

标签: objective-c xcode mapkit

我想按字母顺序排列单元格值,但我无法排列值 我正在处理的代码

    - (UITableViewCell *)tableView:(UITableView *)tableView     cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{    
static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) 
    {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault           reuseIdentifier:CellIdentifier] autorelease];
    }


   cell.textLabel.text = [[[map annotations] objectAtIndex:indexPath.row] title];

return cell;
}

我如何按字母顺序排列cell.textLabel.text值,任何帮助将不胜感激

提前感谢你

2 个答案:

答案 0 :(得分:3)

 - (UITableViewCell *)tableView:(UITableView *)tableView     cellForRowAtIndexPath:(NSIndexPath *)indexPath 

这种方法为时已晚;在调用该方法时,应该已经确定了该顺序。

为什么不简单地将注释排序为您想要的顺序。即在表视图绘制之前对[map annotations]返回的数组进行排序。

答案 1 :(得分:1)

实现这一目标的简单方法是在使用许多NSArray排序选项之前,在表格单元格中使用它之前对地图注释NSArray进行排序。 (例如:sortedArrayUsingDescriptors:。)

有关详细信息,请参阅NSArray class reference

但是,您希望在之前cellForRowAtIndexPath方法中使用它(而不是在其中),以减少不必要的开销。