0

NSFetchedResultsController を使用して、データを別々のセクションに分割しています。私が与える主な sortDescriptor はこれです:

NSSortDescriptor *sortDescriptorSectionLetter = [[NSSortDescriptor alloc] initWithKey:@"sectionLetter" 昇順:YES セレクター:@selector(localizedCompare:)];

これで、私の sectionLetter のデフォルト値は「#」になりました。tableView がセクション化されて表示されると、テーブルの上部に「#」セクションが配置されます。これをリストの一番下に表示したい (連絡先アプリのように)。しかし、これを達成する方法がわかりません。

# の代わりに � や ~ など、さまざまな種類の文字をデフォルトとして試してみましたが、これもうまくいかないようです。Core Data Programming Guide によると、ここでカスタマイズされた比較関数を渡すことはできません。

したがって、ここでどのようなオプションがあるかわかりません (自分でセクションを作成し、アニメーションでテーブルビューをリロードする FRC デリゲートのすべての利点を失う以外に)。良いアイデアはありますか?

4

1 に答える 1

0

のドキュメントのコメントに注意してくださいNSFetchedResultsController

サブクラス化に関する注意事項
セクションおよび索引タイトルの作成をカスタマイズする場合は、このクラスのサブクラスを作成します。sectionIndexTitleForSectionName: をオーバーライドして、セクション インデックス タイトルをセクション名の最初の文字を大文字にする以外にします。すべての既知のセクションで sectionIndexTitleForSectionName: を呼び出すことによって作成される配列以外のインデックス タイトルが必要な場合は、sectionIndexTitles をオーバーライドします。

于 2012-06-07T11:50:08.820 に答える