0

わかりました、次のジレンマに進みます。私はたくさんのグーグルを行ってきましたが、それについてはいくつかの方法があるようですが、テーブルビューの構造に合うものはないようです。ARCとストーリーボードでXcode 4.3.2を使用しています。プレーンビューのテーブルビューがあります。私のテーブルは、都市とその部門のリスト (各行に 1 つの都市) で構成されています。ユーザーが都市を選択すると、その都市の詳細ビューにプッシュされます。セクション ヘッダーを使用して、テーブルをアルファベット順に整理したいと考えています。推奨事項、ヒント、チュートリアルへのリンクは大歓迎です。

テーブルビューでこのように設定されたNSMutable配列があります.m

NSMutableArray *dept;   

- (void)viewDidLoad

{
[super viewDidLoad];

dept = [[NSMutableArray alloc] init];

City *thedept = [[City alloc] init];
[thedept setCityname:@"Albany"];
[thedept setPhone:@"5551237890"];
[dept addObject:thedept];

thedept = [[City alloc] init];
[thedept setCityname:@"Boston"];
[thedept setPhone:@"5556543435"];
[dept addObject:thedept];

thedept = [[City alloc] init];
[thedept setCityname:@"Springfield"];
[thedept setPhone:@"5553456323"];
[dept addObject:thedept];

thedept = [[City alloc] init];
[thedept setCityname:@"Tallahassee"];
[thedept setPhone:@"5552450988"];
[dept addObject:thedept];

thedept = [[City alloc] init];
[thedept setCityname:@"Vacouver"];
[thedept setPhone:@"5551312555"];
[dept addObject:thedept];

セクション ヘッダーは、アルファベット (A、B、C、D...) のみにすることができます。都市を最初の文字で事前に整理し、その文字に基づいてセクションに名前を付ける必要があると考えています (「sectionAcities」など)。私が挙げた都市はほんの一部で、全部で約 100 あります。

4

2 に答える 2

1

UITableViewDataSourceこれを実現するには、次のメソッドを使用する必要があります。

sectionIndexTitlesForTableView:
tableView:titleForHeaderInSection:
tableView:sectionForSectionIndexTitle:atIndex:

TheElements以下は、実際にこれを行うdeveloper.apple.comにあるアプリのリンクです - http://developer.apple.com/library/ios/#samplecode/TheElements

于 2012-05-19T17:11:57.043 に答える
0

あなたの場合、サンプルで行われた単純な並べ替えの代わりに、次のコードを使用してオブジェクトベースの並べ替えを使用する必要があります

self.tableArray =[[self.tableArray sortedArrayUsingComparator:^NSComparisonResult(Object *first, Object *second){

    NSString *name1=[first name];
    NSString *name2=[second name];
    return [name1 compare:name2];

}]mutableCopy] ;

この後、ソートされた配列を取得し、この配列を使用して配列の辞書を作成できます。

于 2012-11-29T07:26:19.410 に答える