0

個別の値に NSFetchResultsController を使用するにはどうすればよいですか?

例: Core-Data エンティティ Person の 2 つの属性名、年齢。

NSFetchResultsController で一意の年齢を検索し、一意の年齢ごとに名前と年齢を返しますか?

4

1 に答える 1

1

最後のコメントから、年齢と名前 (またはシリーズのタイトルとスタジオ) のすべての一意の組み合わせを取得したいと考えています。これは、次のフェッチ リクエストで実行できます。

NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Person"];
[fetchRequest setResultType:NSDictionaryResultType];
[fetchRequest setPropertiesToFetch:@[@"name", @"age"]];
[fetchRequest setReturnsDistinctResults:YES];
NSArray *fetchedObjects = [context executeFetchRequest:fetchRequest error:&error];

これにより、すべての一意の年齢/名前の組み合わせを含む辞書の配列が得られます。

ただし、問題が 1 つあります。フェッチされた結果コントローラーでこのフェッチ リクエストを使用すると、自動変更追跡の機能が失われます (説明については、 https ://stackoverflow.com/a/13550383/1187415 などを参照してください)。自動変更追跡と個別の結果を返すフェッチ要求の両方を持つ方法はないと思います。

于 2013-03-17T22:27:28.273 に答える