セクション ヘッダーとセクション インデックスを設定するセクションを作成する結果を使用して、NSFetchedResultsController を使用して UITableViewController を設定しています。次の方法を使用して、セクション インデックスを設定しています。
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView {
return [fetchedResultsController_ sectionIndexTitles];
}
そして今、私は問題に遭遇しました。NSFetchedResultsController に関連付けられた NSManagedObjectContext に新しい要素を追加すると、新しい要素が保存され、UITableView のセルとして適切に表示されます... 1 つのことを除いて。新しい要素が新しいセクションを作成する場合、UINavigationController のスタックをポップして UITableViewController をリロードしない限り、新しいセクション インデックスは右側の余白に表示されません。
私はNSFetchedResultsControllerDelegateのインターフェースに準拠し、手動で呼び出します
[self.tableView reloadSectionIndexTitles];
これら両方のデリゲート メソッドの最後に:
controller:didChangeSection...
controller:didChangeObject...
メソッドの実行をデバッグしてトレースし、リロード呼び出しが呼び出されたことを確認できますが、UITableView のセクション インデックスにはセクションの変更が反映されません。
ここでも、データが表示されます。新しいセクションは UITableView で物理的に表示 (または削除) されますが、セクション インデックスは更新されません。
何か不足していますか?