NSPredicateとは異なる結果を得ようとしています。異なるプロパティを持つNSFetchRequest
マイコード:
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Members" inManagedObjectContext:context];
request.entity = entity;
request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"city"
ascending:YES
selector:@selector(caseInsensitiveCompare:)]];
request.predicate = [NSPredicate predicateWithFormat:@"memberDeleted == %@", [NSNumber numberWithBool:NO]];
NSDictionary *properties = [entity propertiesByName];
request.propertiesToFetch = [NSArray arrayWithObject:[properties objectForKey:@"city"]];
request.returnsDistinctResults = YES;
request.fetchBatchSize = 20;
NSFetchedResultsController *frc = [[NSFetchedResultsController alloc] initWithFetchRequest:request
managedObjectContext:context
sectionNameKeyPath:nil
cacheName:@"CityCache"];
[request release];
self.fetchedResultsController = frc;
[frc release];
問題は結果が何度も同じ都市を返すということです。このエンティティには多くのメンバーがあり、各メンバーにはプロパティ「都市」があります。
私は間違っていますか?
おかげで、
RLは
私はおそらく 'NSFetchedResultsController'は、一般的に' NSDictionaryResultType'のファンではないことを追加する必要があります。あなたは他の問題に遭遇し、 'NSFetchedResultsController'を放棄する必要があります。 – Alex
質問は私が結果とNSDictionaryを望んでいないということです。そうでない場合、私は自分のコードの一部を変更する必要があります。それは他の方法でやることができますか? –
あなたはどんなオブジェクトを返すと期待していますか?コアデータは、オブジェクトグラフに実際に存在するオブジェクトのみを返すことができます。 – Alex