0

NSFetchRequestからデータを返すために使用していますCore Data。私の問題は、テーブル ビューに一意の値ごとに 1 つのセルを表示するためにグループ化したい同じ一意のキーを持つ複数のオブジェクトが返されていることです。setReturnsDistinctResults:YES「Change Track」を使用および保存できないことを理解しています

これらすべての目的は、mesg_conv_unique 値によってグループ化されたメッセージのリストを表示することです。ユーザーは、私が設定したメッセージ ボード ビューに移動するために選択できます。これは、ビューの一意のキーを解析することによって行われ、正常に機能しています。

これまでの私のコード。

NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"message"
                                          inManagedObjectContext:self.managedObjectContext];


[request setEntity:entity];
[request setFetchBatchSize:100];
[request setPredicate:nil];
[request setReturnsDistinctResults:YES];
[request setResultType:NSDictionaryResultType];
[request setPropertiesToFetch:@[@"mesg_conv_unique"]];

「変更トラック」を維持しながらこれを行う方法、または目標を達成できる別の方法を誰かが提案できますか?

4

1 に答える 1

-1

解決策は、ここでセクションを使用することでした:

NSFetchedResultsController *fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
                                                                                               managedObjectContext:self.managedObjectContext
                                                                                                 sectionNameKeyPath:@"mesg_conv_unique"
                                                                                                          cacheName:nil];

そして…</p>

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 1;
    id items = [self.fetchedResultsController.sections objectAtIndex:section];
    return [items numberOfObjects];
}
于 2013-06-13T10:55:54.403 に答える