3

私は 3 を持っていますMutableArrayが、そのうちの 1 つだけを使用して、すべてを 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];

    }    
}

どうすれば 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 に答える