按字母顺序对数组进行排序,并在表视图中显示数组值

时间:2011-09-16 09:39:44

标签: iphone objective-c

我必须打印NSMutableArray *lstAirports;

我的对象数组它打印表视图单元格中的所有记录

我想按字母顺序对单元格值进行排序。

如何做到这一点请帮助这些代码没有按字母顺序显示

这是我的控制器类代码

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    // Return the number of rows in the section.
    return app.lstAirports.count;
}


// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier] autorelease];
    }
    airport *a=(airport*)[app.lstAirports objectAtIndex:indexPath.row];
    NSLog(@"str:%@",a);
    cell.textLabel.text =a.Name;
    cell.detailTextLabel.text=a.Code;
    // Configure the cell...

    return cell;
}

4 个答案:

答案 0 :(得分:1)

IN viewWillAppear

NSSortDescriptor *aSortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"Name" ascending:YES];
[app.lstAirports sortUsingDescriptors:[NSArray arrayWithObject:aSortDescriptor]];
[aSortDescriptor release];

答案 1 :(得分:1)

您可以轻松对NSMutableArray

进行排序
NSSortDescriptor *nameSort = [NSSortDescriptor sortDescriptorWithKey:@"Name" ascending:YES];
[lstAirports sortUsingDescriptors:[NSArray arrayWithObject:nameSort]];

答案 2 :(得分:0)

您需要订购填充表格视图的数组,在本例中为app.lstAirportsThis会教你如何做到这一点。

答案 3 :(得分:0)

使用NSSortDescriptor

对数组进行排序
NSSortDescriptor * sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"key_name" ascending:YES];
[yourArray sortUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];