2

いくつかのサンプル コードとアップル ドキュメントを見てみると、fetchedResultsController には常に 1 つのセクション カウントがあるように見えます。

2つのセクションを返すにはどうすればよいですか?

本当の問題は、iOS To-do アプリを実行していることです。コア データに保存された完了/To Do ジョブ リストがあり、UITableview2 つのセクションとして表示されます。

しかし、fetchedResultsController は 1 つしかありません。2 つのセクションをサポートするにはどうすればよいですか?

これは公式のサンプル コードです。これを変更する方法がわかりません。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    NSInteger count = [[fetchedResultsController sections] count];

    if (count == 0) {
        count = 1;
    }

    return count;
}
4

1 に答える 1

4

sectionNameKeyPathFetchedResultsController を構築するときに を提供する必要があります。あなたの場合finished、エンティティにその属性がある場合に発生する可能性があります。

ドキュメンテーション

アップデート:

次のように NSFetchedResultsController を初期化します。

NSFetchedResultsController *fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:manangedObjectContext sectionNameKeyPath:@"category" cacheName:nil];

が同じ順序で提供されていることを確認してsortDescriptorsください。fetchRequestsectionNameKeyPath

次のようにセクションの名前にアクセスできます。

id<NSFetchedResultsSectionInfo> sectionInfo = fetchedResultsController.sections[section];
NSString *sectionTitle = [sectionInfo name];
于 2013-06-25T13:02:26.720 に答える