0

私はNSMutableArray *objectsArray;辞書を含んでいます、それぞれは値としてオブジェクト名をNSDictionary持つ"Name"文字列を持っています(驚くことではありません)。名前を使用して昇順UITableViewで既に並べ替えられています。NSSortDescriptor

名前の最初の文字sectionを使用してTableViewにアクセスする必要がありますが、必要なコードが見つかりません。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

    /*Return: How many letters from a-z are represented
    as the first letter of the objects name? 
    I.e. If there is no object in the dictionary with name starting with letter B, 
    the number of sections are now 25 if all the other letters are included.*/
    }

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

   //Return: How many objects are starting with each letter

だから私はセクションと行の正しい数を返す方法を知る必要がありますか?

追伸 cellForRowAtIndexPathこれを機能させるために、セル作成プロセスやobjectsArrayスルーを通過するときなど、他に何かしなければならないことはありsegueますDetailViewControllerか?

アプリの構造に関する追加情報:

objectsArrayは、辞書を含むplist配列からのものです。カスタムプロトタイプセルを使用してテーブルビューにデータを入力します。ストーリーボード付きのXcode4.2。iPhone5.1用アプリ

4

1 に答える 1

1

並べ替える前にを作成しNSMutableSetます。コンパレータに、ソート時に遭遇する各名前の最初の文字をセットに保存させます。次に、セクションの数はセットのサイズです。このように、コンパレータはすでにアレイを反復処理する必要があるため、コストはほとんどかかりません。

于 2012-08-23T17:21:59.960 に答える