3

我有 3 个MutableArray,但只想使用其中一个,在 tableView 中对它们进行排序。

jsonArray = [[NSMutableArray alloc] init]; //NAME
jsonStations = [[NSMutableArray alloc] init]; //URL
jsonSubtitle = [[NSMutableArray alloc] init]; //TABLEVIEW CELL SUBTITLE

我想使用 对jsonArray我的 tableView 中的所有 json 数据进行排序。

以下是我获取 json 数据的方法:

    NSURL *url = [NSURL URLWithString:@"http://www.xxxxx.com/xxx.json"];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    connection = [NSURLConnection connectionWithRequest:request delegate:self];
    if(connection)
    {
        jsonData = [[NSMutableData alloc] init];
    }

...

- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    NSDictionary *allDataDictionary = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:nil];
    NSArray *arrayOfItems = [allDataDictionary objectForKey:@"items"];

    for (NSDictionary *diction in arrayOfItems) {
        NSString *titles = [diction objectForKey:@"title"];
        NSString *subtitles = [diction objectForKey:@"subtitle"];
        NSString *station = [diction objectForKey:@"url"];

        [jsonArray addObject:titles];
        [jsonSubtitle addObject:subtitles];
        [jsonStations addObject:station];

        [self.tableview reloadData];

    }    
}

Sooo 我如何对我的 jsonArray 进行titles排序并显示然后在 tableView 中排序?

4

1 回答 1

1

这是您可以对其进行排序的方式:

 NSArray *sortedArray;
sortedArray = [jsonArray sortedArrayUsingComparator:^NSComparisonResult(NSString *title1, NSString *title2)
             {
                 if ([title1 compare:title2] > 0)
                     return NSOrderedAscending;
                 else
                     return NSOrderedDescending;
             }]; 
[jsonArray setArray:sortedArray];
于 2012-12-26T16:08:28.323 回答