2

この質問は以前にもあったと思いますが、検索で何も見つかりませんでした。

選択した国によって変わる都市名のリストがあります。これらをアルファベット順に並べて、最初の文字に基づいてセクションに表示したいと思います (連絡先リストなど)。

どうすればこれを達成できますか?? すべてのセクションを手動で作成する必要がありますか、それとも組み込みの方法がありますか?

ありがとう。

4

2 に答える 2

2

データソースを希望の順序に並べ替えてから、テーブルビューをリロードします。

NSMutableArraysのNSDictionaryを作成してみてください。各都市の最初の文字を上に持っていきます。次に、都市を文字kの配列に挿入します。

セクション数=[[NSDictionaryallKeys]カウント]

NSArray* cityNames = [NSArray arrayWithObject: @"Detroit"];

NSMutableDictionary* dataSource = [[NSMutableDictionary alloc] init];    

for( NSString* city_name in cityNames){

    NSString* key = [[city_name substringToIndex:1] uppercaseString];

    if( ![dataSource objectForKey: key] ){
        [dataSource setObject:[NSMutableArray array] forKey:key];
    }
    [[dataSource objectForKey: key] addObject: city_name];
}

テーブルビューを使用してデータソースを設定する際にさらにサポートが必要な場合は、コメントでそのように言ってください。さらにサポートします。乾杯

于 2012-05-14T14:09:39.533 に答える
1

はい、すべてのセクションを手動で作成する必要があります。また、セクションを に格納すると便利ですNSDictionary。文字付きのセクション インデックスを作成するには、それらの配列をsectionIndexTitlesForTableView:

于 2012-05-14T14:19:49.347 に答える