0

グループ化されたテーブル ビューのヘッダー (セクション) を、数字またはアルファベット順ではなく、希望する順序で配置するのが困難です。

以前は、次のようにディクショナリと配列を設定して、常にテーブル ビューにデータを追加していました。

 NSMutableDictionary *temp = [[NSMutableDictionary alloc] init];
 [temp setObject: AlphaData forKey:@"Alpha"];
 [temp setObject: BetaData forKey:@"Beta"];
 [temp setObject: CharlieData forKey:@"Charlie"];

 self.tableContents = temp;
 [temp release];
 self.sortedKeys = [[self.tableContents allKeys]
                       sortedArrayUsingSelector:@selector(compare:)];

AlphaData配列です。次に、テーブルビューを設定するときに辞書と配列を使用します。

しかし今は、ベータ、アルファ、チャーリーの順にセクションが必要です。

これで、私の問題が であるためself.tableContentsNSMutableDictionary並べ替えやインデックスがないことがわかりました。次のように表示できます。

for (id key in temp) {
    NSLog(@"key: %@, value: %@", key, [temp objectForKey:key]);
}

戻り値: チャーリー、ベータ、アルファ。(ソートがない場合、それはかなりランダムであると仮定します)

したがって、削除しsortedArrayUsingSelector:@selector(compare:)];ても望ましい結果は得られません。

実際に理解するのではなく、いじったり試行錯誤したり、多くのエラーを行ったりしたため、試したことを見失いましたが、次の変更が含まれます。

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
    return [self.sortedKeys objectAtIndex:section];
}

ここからどこへ行くべきかわからない。

4

1 に答える 1

0

さて、私は今少しばかげていると感じています:

[sortedKeys addObject: @"Beta"];
[sortedKeys addObject: @"Alpha"];
[sortedKeys addObject: @"Charlie"];

今のところ必要な仕事をしています。

申し訳ありません。

于 2013-01-15T11:17:53.697 に答える